WALA/com.ibm.wala.cast.js.test.data/examples-src/tests/try.js

106 lines
1.4 KiB
JavaScript
Raw Normal View History

2012-08-22 16:15:46 +00:00
function targetOne( x ) {
return x;
}
function targetTwo( x ) {
throw x;
}
function tryCatch( x, targetOne, targetTwo ) {
try {
if (x.one < 7)
targetOne( x );
else
targetTwo( x );
} catch (e) {
e.two();
}
}
function tryFinally( x, targetOne, targetTwo ) {
try {
if (x.one < 7)
return targetOne( x );
else
targetTwo( x );
} finally {
x.two();
}
x.three();
}
function tryFinallyLoop( x, targetTwo ) {
while (x.one < 7) {
try {
if (x.one < 3)
break;
else
targetTwo( x );
} finally {
x.two();
}
}
}
function tryCatchFinally( x, targetOne, targetTwo ) {
try {
if (x.one < 7)
targetOne( x );
else
targetTwo( x );
} catch (e) {
e.two();
} finally {
x.three();
}
}
new test to remind me that prototype no longer works with correlation tracking: com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestPrototypeCallGraphShapeRhino.java com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestPrototypeCallGraphShape.java com.ibm.wala.cast.js.test.data/examples-src/pages/prototype.html work (not yet finished) on fixes to property accesses for JavaScript: com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java currently unused tests to remind me to fix bugs: com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java com.ibm.wala.cast.js.test.data/examples-src/tests/loops.js com.ibm.wala.cast.js.test.data/examples-src/tests/primitive_strings.js fixes to exception handler code generation in JavaScript: com.ibm.wala.cast.js.rhino/source/com/ibm/wala/cast/js/translator/RhinoToAstTranslator.java com.ibm.wala.cast.js.test.data/examples-src/tests/try.js com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java fixes to make the system build on both juno and luna com.ibm.wala.cast.js.test.data/pom.xml pom.xml targets/e42/e42.target targets/e44/e44.target targets/pom.xml com.ibm.wala.core.tests/META-INF/MANIFEST.MF com.ibm.wala.dalvik.test/META-INF/MANIFEST.MF com.ibm.wala.ide.jdt.test/META-INF/MANIFEST.MF com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/FakeExceptionTypeBinding.java com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java com.ibm.wala.ide.jsdt.tests/META-INF/MANIFEST.MF com.ibm.wala.ide.jsdt.tests/src/com/ibm/wala/ide/jsdt/tests/AbstractJSProjectScopeTest.java com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java com.ibm.wala.ide/src/com/ibm/wala/ide/util/ProgressMonitorDelegate.java beginnings of "pointer analysis" on top of field-based analysis com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/FlowGraph.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/PropVertex.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/RetVertex.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/VarVertex.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/VertexFactory.java com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PointerAnalysis.java com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ExceptionReturnValueKey.java fixes for crashes in correlartion tracking com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/ClosureExtractor.java fixes for Dalvik IR generation com.ibm.wala.core/src/com/ibm/wala/cfg/BytecodeCFG.java com.ibm.wala.core/src/com/ibm/wala/cfg/ShrikeCFG.java com.ibm.wala.core/src/com/ibm/wala/ssa/SSACFG.java com.ibm.wala.dalvik.test/source/com/ibm/wala/dalvik/drivers/APKCallGraphDriver.java com.ibm.wala.dalvik.test/source/com/ibm/wala/dalvik/test/callGraph/JVMLDalvikComparison.java com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/classLoader/DexCFG.java com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/dex/instructions/UnaryOperation.java com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ssa/AbstractIntRegisterMachine.java com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ssa/DexSSABuilder.java fixes to stack map generation when instrumenting for Java 7 com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/DynamicCallGraph.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ConstantInstruction.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Analyzer.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/ClassHierarchy.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Verifier.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/ClassInstrumenter.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapConstants.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableReader.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableWriter.java
2014-10-15 07:01:38 +00:00
function tryCatchTwice( x, targetOne, targetTwo ) {
try {
if (x.one < 7)
targetOne( x );
else
targetTwo( x );
} catch (e) {
e.two();
}
try {
if (x.one < 7)
targetOne( x );
else
targetTwo( x );
} catch (e) {
e.three();
}
return e;
}
2012-08-22 16:15:46 +00:00
o = {
one: -12,
two: function two () {
return this;
},
three: function three () {
return 8;
}
};
tryCatch(o, targetOne, targetTwo);
tryFinally(o, targetOne, targetTwo);
tryFinallyLoop(o, targetTwo);
tryCatchFinally(o, targetOne, targetTwo);
new test to remind me that prototype no longer works with correlation tracking: com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestPrototypeCallGraphShapeRhino.java com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestPrototypeCallGraphShape.java com.ibm.wala.cast.js.test.data/examples-src/pages/prototype.html work (not yet finished) on fixes to property accesses for JavaScript: com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java currently unused tests to remind me to fix bugs: com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java com.ibm.wala.cast.js.test.data/examples-src/tests/loops.js com.ibm.wala.cast.js.test.data/examples-src/tests/primitive_strings.js fixes to exception handler code generation in JavaScript: com.ibm.wala.cast.js.rhino/source/com/ibm/wala/cast/js/translator/RhinoToAstTranslator.java com.ibm.wala.cast.js.test.data/examples-src/tests/try.js com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java fixes to make the system build on both juno and luna com.ibm.wala.cast.js.test.data/pom.xml pom.xml targets/e42/e42.target targets/e44/e44.target targets/pom.xml com.ibm.wala.core.tests/META-INF/MANIFEST.MF com.ibm.wala.dalvik.test/META-INF/MANIFEST.MF com.ibm.wala.ide.jdt.test/META-INF/MANIFEST.MF com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/FakeExceptionTypeBinding.java com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java com.ibm.wala.ide.jsdt.tests/META-INF/MANIFEST.MF com.ibm.wala.ide.jsdt.tests/src/com/ibm/wala/ide/jsdt/tests/AbstractJSProjectScopeTest.java com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java com.ibm.wala.ide/src/com/ibm/wala/ide/util/ProgressMonitorDelegate.java beginnings of "pointer analysis" on top of field-based analysis com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/FlowGraph.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/PropVertex.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/RetVertex.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/VarVertex.java com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/VertexFactory.java com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PointerAnalysis.java com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ExceptionReturnValueKey.java fixes for crashes in correlartion tracking com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/ClosureExtractor.java fixes for Dalvik IR generation com.ibm.wala.core/src/com/ibm/wala/cfg/BytecodeCFG.java com.ibm.wala.core/src/com/ibm/wala/cfg/ShrikeCFG.java com.ibm.wala.core/src/com/ibm/wala/ssa/SSACFG.java com.ibm.wala.dalvik.test/source/com/ibm/wala/dalvik/drivers/APKCallGraphDriver.java com.ibm.wala.dalvik.test/source/com/ibm/wala/dalvik/test/callGraph/JVMLDalvikComparison.java com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/classLoader/DexCFG.java com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/dex/instructions/UnaryOperation.java com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ssa/AbstractIntRegisterMachine.java com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ssa/DexSSABuilder.java fixes to stack map generation when instrumenting for Java 7 com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/DynamicCallGraph.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ConstantInstruction.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Analyzer.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/ClassHierarchy.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Verifier.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/ClassInstrumenter.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapConstants.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableReader.java com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableWriter.java
2014-10-15 07:01:38 +00:00
(function testRet() {
var e = tryCatchTwice(o, targetOne, targetTwo);
e.two();
e.three();
})();
2012-08-22 16:15:46 +00:00