本文整理汇总了Java中com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback类的典型用法代码示例。如果您正苦于以下问题:Java EdgeCallback类的具体用法?Java EdgeCallback怎么用?Java EdgeCallback使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
EdgeCallback类属于com.google.javascript.jscomp.graph.FixedPointGraphTraversal包,在下文中一共展示了EdgeCallback类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: testGraph8
import com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback; //导入依赖的package包/类
public void testGraph8() {
maxChange = 2;
traversal.computeFixedPoint(graph, A);
try {
traversal = new FixedPointGraphTraversal<Counter, String>(
new EdgeCallback<Counter, String>() {
public boolean traverseEdge(Counter source, String e, Counter dest) {
return true;
}
});
traversal.computeFixedPoint(graph, A);
fail("Expecting Error: " +
FixedPointGraphTraversal.NON_HALTING_ERROR_MSG);
} catch (IllegalStateException e) {
assertEquals(e.getMessage(),
FixedPointGraphTraversal.NON_HALTING_ERROR_MSG);
}
}
开发者ID:andyjko,项目名称:feedlack,代码行数:20,代码来源:FixedPointGraphTraversalTest.java
示例2: testGraph8
import com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback; //导入依赖的package包/类
public void testGraph8() {
maxChange = 2;
traversal.computeFixedPoint(graph, A);
try {
traversal = new FixedPointGraphTraversal<Counter, String>(
new EdgeCallback<Counter, String>() {
@Override
public boolean traverseEdge(Counter source, String e, Counter dest) {
return true;
}
});
traversal.computeFixedPoint(graph, A);
fail("Expecting Error: " +
FixedPointGraphTraversal.NON_HALTING_ERROR_MSG);
} catch (IllegalStateException e) {
assertEquals(e.getMessage(),
FixedPointGraphTraversal.NON_HALTING_ERROR_MSG);
}
}
开发者ID:SpoonLabs,项目名称:astor,代码行数:21,代码来源:FixedPointGraphTraversalTest.java
示例3: testGraph8
import com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback; //导入依赖的package包/类
public void testGraph8() {
maxChange = 2;
traversal.computeFixedPoint(graph, A);
try {
traversal = new FixedPointGraphTraversal<>(
new EdgeCallback<Counter, String>() {
@Override
public boolean traverseEdge(Counter source, String e, Counter dest) {
return true;
}
});
traversal.computeFixedPoint(graph, A);
fail("Expecting Error: " +
FixedPointGraphTraversal.NON_HALTING_ERROR_MSG);
} catch (IllegalStateException e) {
assertThat(e).hasMessageThat().isEqualTo(FixedPointGraphTraversal.NON_HALTING_ERROR_MSG);
}
}
开发者ID:google,项目名称:closure-compiler,代码行数:20,代码来源:FixedPointGraphTraversalTest.java
示例4: propagateSideEffects
import com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback; //导入依赖的package包/类
/**
* Propagate side effect information by building a graph based on call site information stored in
* FunctionInformation and the NameBasedDefinitionProvider and then running GraphReachability to
* determine the set of functions that have side effects.
*/
private void propagateSideEffects() {
// Propagate side effect information to a fixed point.
FixedPointGraphTraversal.newTraversal(
new EdgeCallback<FunctionInformation, CallSitePropagationInfo>() {
@Override
public boolean traverseEdge(
FunctionInformation source,
CallSitePropagationInfo edge,
FunctionInformation destination) {
return edge.propagate(source, destination);
}
})
.computeFixedPoint(sideEffectGraph);
}
开发者ID:google,项目名称:closure-compiler,代码行数:20,代码来源:PureFunctionIdentifier.java
示例5: testGetDirectedGraph_forwardOnForward
import com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback; //导入依赖的package包/类
/**
* Test getting a forward directed graph on a forward call graph
* and propagating over it.
*/
public void testGetDirectedGraph_forwardOnForward() {
// For this test we create a simple callback that when, applied until a
// fixedpoint, computes whether a function is reachable from an initial
// set of "root" nodes.
String source =
"function A(){B()};\n" +
"function B(){C();D()}\n" +
"function C(){B()};\n" +
"function D(){};\n" +
"function E(){C()};\n" +
"function X(){Y()};\n" +
"function Y(){Z()};\n" +
"function Z(){};" +
"B();\n";
CallGraph callgraph = compileAndRunForward(source);
final Set<Function> reachableFunctions = Sets.newHashSet();
// We assume the main function and X are our roots
reachableFunctions.add(callgraph.getMainFunction());
reachableFunctions.add(callgraph.getUniqueFunctionWithName("X"));
// Propagate reachability from callers to callees
EdgeCallback<CallGraph.Function, CallGraph.Callsite> edgeCallback =
new EdgeCallback<CallGraph.Function, CallGraph.Callsite>() {
@Override
public boolean traverseEdge(Function caller, Callsite callsite,
Function callee) {
boolean changed;
if (reachableFunctions.contains(caller)) {
changed = reachableFunctions.add(callee); // Returns true if added
} else {
changed = false;
}
return changed;
}
};
FixedPointGraphTraversal.newTraversal(edgeCallback)
.computeFixedPoint(callgraph.getForwardDirectedGraph());
// We expect B, C, D, X, Y, Z and the main function should be reachable.
// A and E should not be reachable.
assertEquals(7, reachableFunctions.size());
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("B")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("C")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("D")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("X")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("Y")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("Z")));
assertTrue(reachableFunctions.contains(
callgraph.getMainFunction()));
assertFalse(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("A")));
assertFalse(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("E")));
}
开发者ID:ehsan,项目名称:js-symbolic-executor,代码行数:76,代码来源:CallGraphTest.java
示例6: testGetDirectedGraph_forwardOnBackward
import com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback; //导入依赖的package包/类
/**
* Test getting a backward directed graph on a forward call graph
* and propagating over it.
*/
public void testGetDirectedGraph_forwardOnBackward() {
// For this test we create a simple callback that when, applied until a
// fixedpoint, computes whether a function is reachable from an initial
// set of "root" nodes.
String source =
"function A(){B()};\n" +
"function B(){C();D()}\n" +
"function C(){B()};\n" +
"function D(){};\n" +
"function E(){C()};\n" +
"function X(){Y()};\n" +
"function Y(){Z()};\n" +
"function Z(){};" +
"B();\n";
CallGraph callgraph = compileAndRunBackward(source);
final Set<Function> reachableFunctions = Sets.newHashSet();
// We assume the main function and X are our roots
reachableFunctions.add(callgraph.getMainFunction());
reachableFunctions.add(callgraph.getUniqueFunctionWithName("X"));
// Propagate reachability from callers to callees
EdgeCallback<CallGraph.Function, CallGraph.Callsite> edgeCallback =
new EdgeCallback<CallGraph.Function, CallGraph.Callsite>() {
@Override
public boolean traverseEdge(Function caller, Callsite callsite,
Function callee) {
boolean changed;
if (reachableFunctions.contains(caller)) {
changed = reachableFunctions.add(callee); // Returns true if added
} else {
changed = false;
}
return changed;
}
};
FixedPointGraphTraversal.newTraversal(edgeCallback)
.computeFixedPoint(callgraph.getForwardDirectedGraph());
// We expect B, C, D, X, Y, Z and the main function should be reachable.
// A and E should not be reachable.
assertEquals(7, reachableFunctions.size());
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("B")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("C")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("D")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("X")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("Y")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("Z")));
assertTrue(reachableFunctions.contains(
callgraph.getMainFunction()));
assertFalse(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("A")));
assertFalse(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("E")));
}
开发者ID:ehsan,项目名称:js-symbolic-executor,代码行数:76,代码来源:CallGraphTest.java
示例7: testGetDirectedGraph_forwardOnForward
import com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback; //导入依赖的package包/类
/**
* Test getting a forward directed graph on a forward call graph
* and propagating over it.
*/
public void testGetDirectedGraph_forwardOnForward() {
// For this test we create a simple callback that, when applied until a
// fixedpoint, computes whether a function is reachable from an initial
// set of "root" nodes.
String source =
"function A(){B()};\n" +
"function B(){C();D()}\n" +
"function C(){B()};\n" +
"function D(){};\n" +
"function E(){C()};\n" +
"function X(){Y()};\n" +
"function Y(){Z()};\n" +
"function Z(){};" +
"B();\n";
CallGraph callgraph = compileAndRunForward(source);
final Set<Function> reachableFunctions = Sets.newHashSet();
// We assume the main function and X are our roots
reachableFunctions.add(callgraph.getMainFunction());
reachableFunctions.add(callgraph.getUniqueFunctionWithName("X"));
// Propagate reachability from callers to callees
EdgeCallback<CallGraph.Function, CallGraph.Callsite> edgeCallback =
new EdgeCallback<CallGraph.Function, CallGraph.Callsite>() {
@Override
public boolean traverseEdge(Function caller, Callsite callsite,
Function callee) {
boolean changed;
if (reachableFunctions.contains(caller)) {
changed = reachableFunctions.add(callee); // Returns true if added
} else {
changed = false;
}
return changed;
}
};
FixedPointGraphTraversal.newTraversal(edgeCallback)
.computeFixedPoint(callgraph.getForwardDirectedGraph());
// We expect B, C, D, X, Y, Z and the main function should be reachable.
// A and E should not be reachable.
assertEquals(7, reachableFunctions.size());
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("B")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("C")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("D")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("X")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("Y")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("Z")));
assertTrue(reachableFunctions.contains(
callgraph.getMainFunction()));
assertFalse(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("A")));
assertFalse(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("E")));
}
开发者ID:SpoonLabs,项目名称:astor,代码行数:76,代码来源:CallGraphTest.java
示例8: testGetDirectedGraph_forwardOnBackward
import com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback; //导入依赖的package包/类
/**
* Test getting a backward directed graph on a forward call graph
* and propagating over it.
*/
public void testGetDirectedGraph_forwardOnBackward() {
// For this test we create a simple callback that, when applied until a
// fixedpoint, computes whether a function is reachable from an initial
// set of "root" nodes.
String source =
"function A(){B()};\n" +
"function B(){C();D()}\n" +
"function C(){B()};\n" +
"function D(){};\n" +
"function E(){C()};\n" +
"function X(){Y()};\n" +
"function Y(){Z()};\n" +
"function Z(){};" +
"B();\n";
CallGraph callgraph = compileAndRunBackward(source);
final Set<Function> reachableFunctions = Sets.newHashSet();
// We assume the main function and X are our roots
reachableFunctions.add(callgraph.getMainFunction());
reachableFunctions.add(callgraph.getUniqueFunctionWithName("X"));
// Propagate reachability from callers to callees
EdgeCallback<CallGraph.Function, CallGraph.Callsite> edgeCallback =
new EdgeCallback<CallGraph.Function, CallGraph.Callsite>() {
@Override
public boolean traverseEdge(Function caller, Callsite callsite,
Function callee) {
boolean changed;
if (reachableFunctions.contains(caller)) {
changed = reachableFunctions.add(callee); // Returns true if added
} else {
changed = false;
}
return changed;
}
};
FixedPointGraphTraversal.newTraversal(edgeCallback)
.computeFixedPoint(callgraph.getForwardDirectedGraph());
// We expect B, C, D, X, Y, Z and the main function should be reachable.
// A and E should not be reachable.
assertEquals(7, reachableFunctions.size());
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("B")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("C")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("D")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("X")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("Y")));
assertTrue(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("Z")));
assertTrue(reachableFunctions.contains(
callgraph.getMainFunction()));
assertFalse(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("A")));
assertFalse(reachableFunctions.contains(
callgraph.getUniqueFunctionWithName("E")));
}
开发者ID:SpoonLabs,项目名称:astor,代码行数:76,代码来源:CallGraphTest.java
注:本文中的com.google.javascript.jscomp.graph.FixedPointGraphTraversal.EdgeCallback类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论