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


Java MaxIterationsExceededException类代码示例

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


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

示例1: testMaxIterationsExceededException

import com.google.javascript.jscomp.DataFlowAnalysis.MaxIterationsExceededException; //导入依赖的package包/类
public void testMaxIterationsExceededException() {
  final int MAX_STEP = 10;
  Variable a = new Variable("a");
  Instruction inst1 = new ArithmeticInstruction(a, a, Operation.ADD, a);
  ControlFlowGraph<Instruction> cfg =
    new ControlFlowGraph<Instruction>(inst1) {
    @Override
    public Comparator<DiGraphNode<Instruction, Branch>>
        getOptionalNodeComparator(boolean isForward) {
      return new Comparator<DiGraphNode<Instruction, Branch>>() {
        @Override
        public int compare(DiGraphNode<Instruction, Branch> o1,
            DiGraphNode<Instruction, Branch> o2) {
          return o1.getValue().order - o2.getValue().order;
        }
      };
    }
  };
  cfg.createNode(inst1);

  // We have MAX_STEP + 1 nodes, it is impossible to finish the analysis with
  // MAX_STEP number of steps.
  for (int i = 0; i < MAX_STEP + 1; i++) {
    Instruction inst2 = new ArithmeticInstruction(a, a, Operation.ADD, a);
    cfg.createNode(inst2);
    inst2.order = i + 1;
    cfg.connect(inst1, ControlFlowGraph.Branch.UNCOND, inst2);
    inst1 = inst2;
  }
  DummyConstPropagation constProp = new DummyConstPropagation(cfg);
  try {
    constProp.analyze(MAX_STEP);
    fail("Expected MaxIterationsExceededException to be thrown.");
  } catch (MaxIterationsExceededException e) {
    assertEquals(e.getMessage(), "Analysis did not terminate after "
        + MAX_STEP + " iterations");
  }
}
 
开发者ID:andyjko,项目名称:feedlack,代码行数:39,代码来源:DataFlowAnalysisTest.java

示例2: testMaxIterationsExceededException

import com.google.javascript.jscomp.DataFlowAnalysis.MaxIterationsExceededException; //导入依赖的package包/类
public void testMaxIterationsExceededException() {
  final int MAX_STEP = 10;
  Variable a = new Variable("a");
  Instruction inst1 = new ArithmeticInstruction(a, a, Operation.ADD, a);
  ControlFlowGraph<Instruction> cfg =
    new ControlFlowGraph<Instruction>(inst1, true, true) {
    @Override
    public Comparator<DiGraphNode<Instruction, Branch>>
        getOptionalNodeComparator(boolean isForward) {
      return new Comparator<DiGraphNode<Instruction, Branch>>() {
        @Override
        public int compare(DiGraphNode<Instruction, Branch> o1,
            DiGraphNode<Instruction, Branch> o2) {
          return o1.getValue().order - o2.getValue().order;
        }
      };
    }
  };
  cfg.createNode(inst1);

  // We have MAX_STEP + 1 nodes, it is impossible to finish the analysis with
  // MAX_STEP number of steps.
  for (int i = 0; i < MAX_STEP + 1; i++) {
    Instruction inst2 = new ArithmeticInstruction(a, a, Operation.ADD, a);
    cfg.createNode(inst2);
    inst2.order = i + 1;
    cfg.connect(inst1, ControlFlowGraph.Branch.UNCOND, inst2);
    inst1 = inst2;
  }
  DummyConstPropagation constProp = new DummyConstPropagation(cfg);
  try {
    constProp.analyze(MAX_STEP);
    fail("Expected MaxIterationsExceededException to be thrown.");
  } catch (MaxIterationsExceededException e) {
    assertEquals(e.getMessage(), "Analysis did not terminate after "
        + MAX_STEP + " iterations");
  }
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:39,代码来源:DataFlowAnalysisTest.java

示例3: testMaxIterationsExceededException

import com.google.javascript.jscomp.DataFlowAnalysis.MaxIterationsExceededException; //导入依赖的package包/类
public void testMaxIterationsExceededException() {
  Variable a = new Variable("a");
  Instruction inst1 = new ArithmeticInstruction(a, a, Operation.ADD, a);
  ControlFlowGraph<Instruction> cfg =
      new ControlFlowGraph<Instruction>(inst1, true, true) {
        @Override
        public Comparator<DiGraphNode<Instruction, Branch>> getOptionalNodeComparator(
            boolean isForward) {
          return comparingInt(arg -> arg.getValue().order);
        }
      };
  cfg.createNode(inst1);

  // We have MAX_STEP + 1 nodes, it is impossible to finish the analysis with
  // MAX_STEP number of steps.
  for (int i = 0; i < MAX_STEP + 1; i++) {
    Instruction inst2 = new ArithmeticInstruction(a, a, Operation.ADD, a);
    inst2.order = i + 1;
    cfg.createNode(inst2);
    cfg.connect(inst1, ControlFlowGraph.Branch.UNCOND, inst2);
    inst1 = inst2;
  }
  DummyConstPropagation constProp = new DummyConstPropagation(cfg);
  try {
    constProp.analyze(MAX_STEP);
    fail("Expected MaxIterationsExceededException to be thrown.");
  } catch (MaxIterationsExceededException e) {
    assertThat(e)
        .hasMessageThat()
        .isEqualTo("Analysis did not terminate after " + MAX_STEP + " iterations");
  }
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:33,代码来源:DataFlowAnalysisTest.java


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