当前位置: 首页>>代码示例>>Java>>正文


Java ParserRunner类代码示例

本文整理汇总了Java中com.google.javascript.jscomp.parsing.ParserRunner的典型用法代码示例。如果您正苦于以下问题:Java ParserRunner类的具体用法?Java ParserRunner怎么用?Java ParserRunner使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ParserRunner类属于com.google.javascript.jscomp.parsing包,在下文中一共展示了ParserRunner类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parse

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
private void parse(AbstractCompiler compiler, String sourceName,
    String sourceStr) {
  try {
    logger_.fine("Parsing: " + sourceName);
    root = ParserRunner.parse(sourceName, sourceStr,
        compiler.getParserConfig(),
        compiler.getDefaultErrorReporter(),
        logger_);
  } catch (IOException e) {
    compiler.report(JSError.make(AbstractCompiler.READ_ERROR, sourceName));
  }

  if (root == null || compiler.hasHaltingErrors()) {
    // There was a parse error or IOException, so use a dummy block.
    root = new Node(Token.BLOCK);
  } else {
    compiler.prepareAst(root);
  }

  // Set the source name so that the compiler passes can track
  // the source file and module.
  root.putProp(Node.SOURCENAME_PROP, sourceName);
}
 
开发者ID:ehsan,项目名称:js-symbolic-executor,代码行数:24,代码来源:JsAst.java

示例2: getParserConfig

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
@Override
Config getParserConfig() {
  if (parserConfig == null) {
    Config.LanguageMode mode;
    switch (options.getLanguageIn()) {
      case ECMASCRIPT3:
        mode = Config.LanguageMode.ECMASCRIPT3;
        break;
      case ECMASCRIPT5:
        mode = Config.LanguageMode.ECMASCRIPT5;
        break;
      case ECMASCRIPT5_STRICT:
        mode = Config.LanguageMode.ECMASCRIPT5_STRICT;
        break;
      default:
        throw new IllegalStateException("unexpected language mode");
    }

    parserConfig = ParserRunner.createConfig(
      isIdeMode(),
      mode,
      acceptConstKeyword(),
      options.extraAnnotationNames);
  }
  return parserConfig;
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:27,代码来源:Compiler.java

示例3: parse

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
private void parse(AbstractCompiler compiler) {
  try {
    logger_.fine("Parsing: " + sourceFile.getName());
    ParserRunner.ParseResult result = ParserRunner.parse(sourceFile, sourceFile.getCode(),
        compiler.getParserConfig(),
        compiler.getDefaultErrorReporter(),
        logger_);
    root = result.ast;
    compiler.setOldParseTree(sourceFile.getName(), result.oldAst);
  } catch (IOException e) {
    compiler.report(
        JSError.make(AbstractCompiler.READ_ERROR, sourceFile.getName()));
  }

  if (root == null || compiler.hasHaltingErrors()) {
    // There was a parse error or IOException, so use a dummy block.
    root = IR.script();
  } else {
    compiler.prepareAst(root);
  }

  // Set the source name so that the compiler passes can track
  // the source file and module.
  root.setStaticSourceFile(sourceFile);
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:26,代码来源:JsAst.java

示例4: runVariableRenaming

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
private VariableMap runVariableRenaming(
    AbstractCompiler compiler, VariableMap prevVariableMap,
    Node externs, Node root) {
  char[] reservedChars =
      options.anonymousFunctionNaming.getReservedCharacters();
  boolean preserveAnonymousFunctionNames =
      options.anonymousFunctionNaming != AnonymousFunctionNamingPolicy.OFF;
  Set<String> reservedNames = Sets.newHashSet();
  if (exportedNames != null) {
    reservedNames.addAll(exportedNames);
  }
  reservedNames.addAll(ParserRunner.getReservedVars());
  RenameVars rn = new RenameVars(
      compiler,
      options.renamePrefix,
      options.variableRenaming == VariableRenamingPolicy.LOCAL,
      preserveAnonymousFunctionNames,
      options.generatePseudoNames,
      options.shadowVariables,
      prevVariableMap,
      reservedChars,
      reservedNames);
  rn.process(externs, root);
  return rn.getVariableMap();
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:26,代码来源:DefaultPassConfig.java

示例5: getParserConfig

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
@Override
Config getParserConfig() {
  if (parserConfig == null) {
    parserConfig = ParserRunner.createConfig(
        getTypeRegistry(), isIdeMode());
  }
  return parserConfig;
}
 
开发者ID:andyjko,项目名称:feedlack,代码行数:9,代码来源:Compiler.java

示例6: getParserConfig

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
@Override
Config getParserConfig() {
  if (parserConfig == null) {
    parserConfig = ParserRunner.createConfig(isIdeMode());
  }
  return parserConfig;
}
 
开发者ID:ehsan,项目名称:js-symbolic-executor,代码行数:8,代码来源:Compiler.java

示例7: parse

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
/**
 * Parses the given JavaScript string into an abstract syntax tree.
 *
 * @param js The JavaScript code.
 * @param inputFileName The source filename to associate with the input JS.
 * @return An abstract syntax tree.
 * @throws JavaScriptParsingException if parse errors were encountered.
 */
private static Node parse(String js, String inputFileName) throws JavaScriptParsingException {
  StaticSourceFile file = new SimpleSourceFile(inputFileName, false);
  Config config = ParserRunner.createConfig(LanguageMode.ECMASCRIPT6, null, StrictMode.SLOPPY);
  JavaScriptErrorReporter errorReporter = new JavaScriptErrorReporter(js);
  Node script = ParserRunner.parse(file, js, config, errorReporter).ast;
  if (script == null) {
    throw new JavaScriptParsingException(errorReporter.getWarningAndErrorOutput());
  }
  return script;
}
 
开发者ID:PolymerLabs,项目名称:PolymerRenamer,代码行数:19,代码来源:JsRenamer.java

示例8: createConfig

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
protected Config createConfig(Config.LanguageMode mode, Config.StrictMode strictMode) {
  Config config =
      ParserRunner.createConfig(
          mode,
          options.isParseJsDocDocumentation(),
          options.canContinueAfterErrors()
              ? Config.RunMode.KEEP_GOING
              : Config.RunMode.STOP_AFTER_ERROR,
          options.extraAnnotationNames,
          options.parseInlineSourceMaps,
          strictMode);
  return config;
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:14,代码来源:Compiler.java

示例9: runVariableRenaming

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
private VariableMap runVariableRenaming(
    AbstractCompiler compiler, VariableMap prevVariableMap,
    Node externs, Node root) {
  char[] reservedChars =
      options.anonymousFunctionNaming.getReservedCharacters();
  boolean preserveAnonymousFunctionNames =
      options.anonymousFunctionNaming != AnonymousFunctionNamingPolicy.OFF;
  Set<String> reservedNames = new HashSet<>();
  if (options.renamePrefixNamespace != null) {
    // don't use the prefix name as a global symbol.
    reservedNames.add(options.renamePrefixNamespace);
  }
  reservedNames.addAll(compiler.getExportedNames());
  reservedNames.addAll(ParserRunner.getReservedVars());
  RenameVars rn = new RenameVars(
      compiler,
      options.renamePrefix,
      options.variableRenaming == VariableRenamingPolicy.LOCAL,
      preserveAnonymousFunctionNames,
      options.generatePseudoNames,
      options.shadowVariables,
      options.preferStableNames,
      prevVariableMap,
      reservedChars,
      reservedNames,
      options.nameGenerator);
  rn.process(externs, root);
  return rn.getVariableMap();
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:30,代码来源:DefaultPassConfig.java

示例10: parse

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
/** Internal implementation to produce the {@link FileInfo} object. */
private static FileInfo parse(String code, String filename, @Nullable Reporter reporter) {
  ErrorReporter errorReporter = new DelegatingReporter(reporter);
  Compiler compiler = new Compiler();
  compiler.init(
      ImmutableList.<SourceFile>of(), ImmutableList.<SourceFile>of(), new CompilerOptions());

  Config config =
      ParserRunner.createConfig(
          // TODO(sdh): ES8 STRICT, with a non-strict fallback - then give warnings.
          Config.LanguageMode.ECMASCRIPT8,
          Config.JsDocParsing.INCLUDE_DESCRIPTIONS_NO_WHITESPACE,
          Config.RunMode.KEEP_GOING,
          /* extraAnnotationNames */ ImmutableSet.<String>of(),
          /* parseInlineSourceMaps */ true,
          Config.StrictMode.SLOPPY);

  SourceFile source = SourceFile.fromCode(filename, code);
  FileInfo info = new FileInfo(errorReporter);
  ParserRunner.ParseResult parsed = ParserRunner.parse(source, code, config, errorReporter);
  parsed.ast.setInputId(new InputId(filename));
  String version = parsed.features.version();
  if (!version.equals("es3")) {
    info.loadFlags.add(JsArray.of("lang", version));
  }

  for (Comment comment : parsed.comments) {
    if (comment.type == Comment.Type.JSDOC) {
      parseComment(comment, info);
    }
  }
  NodeTraversal.traverseEs6(compiler, parsed.ast, new Traverser(info));
  return info;
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:35,代码来源:JsfileParser.java

示例11: createConfig

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
protected Config createConfig(Config.LanguageMode mode) {
  return ParserRunner.createConfig(
    isIdeMode(),
    mode,
    acceptConstKeyword(),
    options.extraAnnotationNames,
    options.useNewParser);
}
 
开发者ID:nicks,项目名称:closure-compiler-old,代码行数:9,代码来源:Compiler.java

示例12: parse

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
private void parse(AbstractCompiler compiler) {
  int startErrorCount = compiler.getErrorManager().getErrorCount();
  try {
    ParserRunner.ParseResult result = ParserRunner.parse(sourceFile, sourceFile.getCode(),
        compiler.getParserConfig(sourceFile.isExtern()
            ? AbstractCompiler.ConfigContext.EXTERNS
            : AbstractCompiler.ConfigContext.DEFAULT),
        compiler.getDefaultErrorReporter(),
        logger_);
    root = result.ast;
    compiler.addComments(sourceFile.getName(), result.comments);
  } catch (IOException e) {
    compiler.report(
        JSError.make(AbstractCompiler.READ_ERROR, sourceFile.getName()));
  }


  if (root == null ||
      // Most passes try to report as many errors as possible,
      // so there may already be errors. We only care if there were
      // errors in the code we just parsed.
      (compiler.getErrorManager().getErrorCount() > startErrorCount && !compiler.isIdeMode())) {
    // There was a parse error or IOException, so use a dummy block.
    root = IR.script();
  } else {
    compiler.prepareAst(root);
  }

  // Set the source name so that the compiler passes can track
  // the source file and module.
  root.setStaticSourceFile(sourceFile);
}
 
开发者ID:nicks,项目名称:closure-compiler-old,代码行数:33,代码来源:JsAst.java

示例13: runVariableRenaming

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
private VariableMap runVariableRenaming(
    AbstractCompiler compiler, VariableMap prevVariableMap,
    Node externs, Node root) {
  char[] reservedChars =
      options.anonymousFunctionNaming.getReservedCharacters();
  boolean preserveAnonymousFunctionNames =
      options.anonymousFunctionNaming != AnonymousFunctionNamingPolicy.OFF;
  Set<String> reservedNames = Sets.newHashSet();
  if (options.renamePrefixNamespace != null) {
    // don't use the prefix name as a global symbol.
    reservedNames.add(options.renamePrefixNamespace);
  }
  if (exportedNames != null) {
    reservedNames.addAll(exportedNames);
  }
  reservedNames.addAll(ParserRunner.getReservedVars());
  RenameVars rn = new RenameVars(
      compiler,
      options.renamePrefix,
      options.variableRenaming == VariableRenamingPolicy.LOCAL,
      preserveAnonymousFunctionNames,
      options.generatePseudoNames,
      options.shadowVariables,
      options.preferStableNames,
      prevVariableMap,
      reservedChars,
      reservedNames);
  rn.process(externs, root);
  return rn.getVariableMap();
}
 
开发者ID:nicks,项目名称:closure-compiler-old,代码行数:31,代码来源:DefaultPassConfig.java

示例14: parse

import com.google.javascript.jscomp.parsing.ParserRunner; //导入依赖的package包/类
private void parse(AbstractCompiler compiler) {
  int startErrorCount = compiler.getErrorManager().getErrorCount();
  try {
    ParserRunner.ParseResult result = ParserRunner.parse(sourceFile, sourceFile.getCode(),
        compiler.getParserConfig(),
        compiler.getDefaultErrorReporter(),
        logger_);
    root = result.ast;
    compiler.setOldParseTree(sourceFile.getName(), result.oldAst);
  } catch (IOException e) {
    compiler.report(
        JSError.make(AbstractCompiler.READ_ERROR, sourceFile.getName()));
  }


  if (root == null ||
      // Most passes try to report as many errors as possible,
      // so there may already be errors. We only care if there were
      // errors in the code we just parsed.
      (compiler.getErrorManager().getErrorCount() > startErrorCount && !compiler.isIdeMode())) {
    // There was a parse error or IOException, so use a dummy block.
    root = IR.script();
  } else {
    compiler.prepareAst(root);
  }

  // Set the source name so that the compiler passes can track
  // the source file and module.
  root.setStaticSourceFile(sourceFile);
}
 
开发者ID:Robbert,项目名称:closure-compiler-copy,代码行数:31,代码来源:JsAst.java


注:本文中的com.google.javascript.jscomp.parsing.ParserRunner类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。