• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Reach类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: getSecureCompilerOptions

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
/**
 * Returns compiler options which are safe for compilation of a cajoled
 * module. The set of options is similar to the one which is used by
 * CompilationLevel in simple mode. The main difference is that variable
 * renaming and closurePass options are turned off.
 */
private CompilerOptions getSecureCompilerOptions() {
  CompilerOptions options = new CompilerOptions();

  options.variableRenaming = VariableRenamingPolicy.OFF;
  options.setInlineVariables(Reach.LOCAL_ONLY);
  options.inlineLocalFunctions = true;
  options.checkGlobalThisLevel = CheckLevel.OFF;
  options.coalesceVariableNames = true;
  options.deadAssignmentElimination = true;
  options.collapseVariableDeclarations = true;
  options.convertToDottedProperties = true;
  options.labelRenaming = true;
  options.removeDeadCode = true;
  options.optimizeArgumentsArray = true;
  options.removeUnusedVars = false;
  options.removeUnusedLocalVars = true;

  return options;
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:26,代码来源:SecureCompiler.java


示例2: InlineFunctions

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
InlineFunctions(
    AbstractCompiler compiler,
    Supplier<String> safeNameIdSupplier,
    Reach reach,
    boolean assumeStrictThis,
    boolean assumeMinimumCapture,
    int maxSizeAfterInlining) {
  checkArgument(compiler != null);
  checkArgument(safeNameIdSupplier != null);
  checkArgument(reach != Reach.NONE);

  this.compiler = compiler;

  this.reach = reach;
  this.assumeMinimumCapture = assumeMinimumCapture;

  this.maxSizeAfterInlining = maxSizeAfterInlining;
  this.enforceMaxSizeAfterInlining =
      maxSizeAfterInlining != CompilerOptions.UNLIMITED_FUN_SIZE_AFTER_INLINING;

  this.injector =
      new FunctionInjector(
          compiler, safeNameIdSupplier, true, assumeStrictThis, assumeMinimumCapture);
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:25,代码来源:InlineFunctions.java


示例3: testBug31448683

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testBug31448683() {
  CompilerOptions options = createCompilerOptions();
  WarningLevel.QUIET.setOptionsForWarningLevel(options);
  options.setInlineFunctions(Reach.ALL);
  test(
      options,
      LINE_JOINER.join(
          "function f() {",
          "  x = x || 1",
          "  var x;",
          "  console.log(x);",
          "}",
          "for (var _ in [1]) {",
          "  f();",
          "}"),
      LINE_JOINER.join(
          "for(var _ in[1]) {",
          "  {",
          "     var x$jscomp$inline_0 = void 0;",
          "     x$jscomp$inline_0 = x$jscomp$inline_0 || 1;",
          "     console.log(x$jscomp$inline_0);",
          "  }",
          "}"));
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:25,代码来源:IntegrationTest.java


示例4: testNameAnonymousFunctionsWithVarRemoval

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testNameAnonymousFunctionsWithVarRemoval() {
  CompilerOptions options = createCompilerOptions();
  options.setRemoveUnusedVariables(CompilerOptions.Reach.LOCAL_ONLY);
  options.setInlineVariables(true);
  String code = "var f = function longName() {}; var g = function() {};" +
      "function longerName() {} var i = longerName;";
  test(options, code,
       "var f = function() {}; var g = function() {}; " +
       "var i = function() {};");

  options.setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy.MAPPED);
  test(options, code,
      "var f = function longName() {}; var g = function $() {};"
      + "var i = function longerName(){};");
  assertNotNull(lastCompiler.getResult().namedAnonFunctionMap);

  options.setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy.UNMAPPED);
  test(options, code,
      "var f = function longName() {}; var g = function $g$() {};"
      + "var i = function longerName(){};");
  assertNull(lastCompiler.getResult().namedAnonFunctionMap);
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:23,代码来源:IntegrationTest.java


示例5: testNoCrash_varInCatch

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testNoCrash_varInCatch() {
  CompilerOptions options = createCompilerOptions();
  options.setInlineFunctions(Reach.ALL);

  test(
      options,
      LINE_JOINER.join(
          "(function() {",
          "  try {",
          "    x = 2;",
          "  } catch (e) {",
          "    var x = 1;",
          "  }",
          "})();"),
    LINE_JOINER.join(
          "{ try {",
          "    x$jscomp$inline_0=2",
          "  } catch(e) {",
          "    var x$jscomp$inline_0=1",
          "  }",
          "}"));
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:23,代码来源:IntegrationTest.java


示例6: testJQueryStringSplitLoops

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testJQueryStringSplitLoops() {
  CompilerOptions options = createCompilerOptions();
  options.setFoldConstants(true);
  test(options, "var x=['1','2','3','4','5','6','7']", "var x='1234567'.split('')");

  options = createCompilerOptions();
  options.setFoldConstants(true);
  options.setComputeFunctionSideEffects(false);
  options.setRemoveUnusedVariables(Reach.ALL);

  // If we do splits too early, it would add a side-effect to x.
  test(options,
    "var x=['1','2','3','4','5','6','7']",
    "");

}
 
开发者ID:google,项目名称:closure-compiler,代码行数:17,代码来源:IntegrationTest.java


示例7: testInlineObject

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testInlineObject() {
  disableCompareAsTree();
  enableMarkNoSideEffects();

  this.inliningReach = Reach.LOCAL_ONLY;
  assumeStrictThis = true;
  assumeMinimumCapture = true;

  // TODO(johnlenz): normalize the AST so an AST comparison can be done.
  // As is, the expected AST does not match the actual correct result:
  // The AST matches "g.a()" with a FREE_CALL annotation, but this as
  // expected string would fail as it won't be mark as a free call.
  // "(0,g.a)()" matches the output, but not the resulting AST.
  test("function inner(){function f(){return g.a}(f())()}",
      "function inner(){(0,g.a)()}");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:17,代码来源:InlineFunctionsTest.java


示例8: testRemoveUnusedPrototypeProperties2

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testRemoveUnusedPrototypeProperties2() {
  CompilerOptions options = createCompilerOptions();
  String code = "function Foo() {} " +
      "Foo.prototype.bar = function() { return new Foo(); };" +
      "function f(x) { x.bar(); }";
  testSame(options, code);

  options.setRemoveUnusedPrototypeProperties(true);
  testSame(options, code);

  options.setRemoveUnusedVariables(Reach.ALL);
  test(options, code, "");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:14,代码来源:IntegrationTest.java


示例9: testDeadAssignmentsElimination

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testDeadAssignmentsElimination() {
  CompilerOptions options = createCompilerOptions();
  String code = "function f() { var x = 3; 4; x = 5; return x; } f(); ";
  testSame(options, code);

  options.setDeadAssignmentElimination(true);
  testSame(options, code);

  options.setRemoveUnusedVariables(Reach.ALL);
  test(options, code, "function f() { 3; 4; var x = 5; return x; } f();");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:12,代码来源:IntegrationTest.java


示例10: testInlineFunctions

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testInlineFunctions() {
  CompilerOptions options = createCompilerOptions();
  String code = "function f() { return 3; } f(); ";
  testSame(options, code);

  options.setInlineFunctions(Reach.ALL);
  test(options, code, "3;");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:9,代码来源:IntegrationTest.java


示例11: testRemoveUnusedVars1

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testRemoveUnusedVars1() {
  CompilerOptions options = createCompilerOptions();
  String code = "function f(x) {} f();";
  testSame(options, code);

  options.setRemoveUnusedVariables(Reach.ALL);
  test(options, code, "function f() {} f();");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:9,代码来源:IntegrationTest.java


示例12: testRemoveUnusedVars2

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testRemoveUnusedVars2() {
  CompilerOptions options = createCompilerOptions();
  String code = "(function f(x) {})();var g = function() {}; g();";
  testSame(options, code);

  options.setRemoveUnusedVariables(Reach.ALL);
  test(options, code, "(function() {})();var g = function() {}; g();");

  options.setAnonymousFunctionNaming(AnonymousFunctionNamingPolicy.UNMAPPED);
  test(options, code, "(function f() {})();var g = function $g$() {}; g();");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:12,代码来源:IntegrationTest.java


示例13: testFlowSensitiveInlineVariables1

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testFlowSensitiveInlineVariables1() {
  CompilerOptions options = createCompilerOptions();
  String code = "function f() { var x = 3; x = 5; return x; }";
  testSame(options, code);

  options.setInlineVariables(true);
  test(options, code, "function f() { var x = 3; return 5; }");

  String unusedVar = "function f() { var x; x = 5; return x; } f()";
  test(options, unusedVar, "(function f() { var x; return 5; })()");

  options.setRemoveUnusedVariables(Reach.ALL);
  test(options, unusedVar, "(function () { return 5; })()");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:15,代码来源:IntegrationTest.java


示例14: testsyntheticBlockOnDeadAssignments

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testsyntheticBlockOnDeadAssignments() {
  CompilerOptions options = createCompilerOptions();
  options.setDeadAssignmentElimination(true);
  options.setRemoveUnusedVariables(Reach.ALL);
  options.syntheticBlockStartMarker = "START";
  options.syntheticBlockEndMarker = "END";
  test(options, "var x; x = 1; START(); x = 1;END();x()",
                "var x; x = 1;{START();{x = 1}END()}x()");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:10,代码来源:IntegrationTest.java


示例15: testMaxFunSizeAfterInliningUsage

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testMaxFunSizeAfterInliningUsage() {
  CompilerOptions options = new CompilerOptions();
  options.setInlineFunctions(Reach.NONE);
  options.setMaxFunctionSizeAfterInlining(1);
  try {
    test(options, "", "");
    fail("Expected CompilerOptionsPreprocessor.InvalidOptionsException");
  } catch (RuntimeException e) {
    if (!(e instanceof CompilerOptionsPreprocessor.InvalidOptionsException)) {
      fail("Expected CompilerOptionsPreprocessor.InvalidOptionsException");
    }
  }
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:14,代码来源:IntegrationTest.java


示例16: setUp

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
@Override
protected void setUp() throws Exception {
  super.setUp();
  maybeEnableInferConsts();
  enableNormalize();
  enableComputeSideEffects();
  inliningReach = Reach.ALL;
  assumeStrictThis = false;
  assumeMinimumCapture = false;
  maxSizeAfterInlining = CompilerOptions.UNLIMITED_FUN_SIZE_AFTER_INLINING;
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:12,代码来源:InlineFunctionsTest.java


示例17: testLocalFunctionInliningOnly2

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testLocalFunctionInliningOnly2() {
  this.inliningReach = Reach.LOCAL_ONLY;
  testSame("function f(){} f()");

  test("function f(){ function g() {return 1} return g() }; f();",
       "function f(){ return 1 }; f();");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:8,代码来源:InlineFunctionsTest.java


示例18: testLocalFunctionInliningOnly3

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testLocalFunctionInliningOnly3() {
  this.inliningReach = Reach.LOCAL_ONLY;
  testSame("function f(){} f()");

  test("(function(){ function g() {return 1} return g() })();",
       "(function(){ return 1 })();");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:8,代码来源:InlineFunctionsTest.java


示例19: testLocalFunctionInliningOnly4

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void testLocalFunctionInliningOnly4() {
  this.inliningReach = Reach.LOCAL_ONLY;
  testSame("function f(){} f()");

  test("(function(){ return (function() {return 1})() })();",
       "(function(){ return 1 })();");
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:8,代码来源:InlineFunctionsTest.java


示例20: setInlineFunctions

import com.google.javascript.jscomp.CompilerOptions.Reach; //导入依赖的package包/类
public void setInlineFunctions(Reach reach) {
    compilerOptions.setInlineFunctions(reach);
}
 
开发者ID:GeoDienstenCentrum,项目名称:closure-compiler-maven-plugin,代码行数:4,代码来源:CompilerOptionsMojo.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ResourceEntry类代码示例发布时间:2022-05-23
下一篇:
Java SourceArgs类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap