|
ASM4 is more strict about having all the try-catch blocks defined before their labels are visited; this means that the try-catch blocks should be generated (typically) as the first statement(s) in a (generated) method.
I do this work in 2 passes:
- IRBuilder: builds an IR and adds edges between nodes of a try-catch block.
- StampTryCatch: Looks at the edges inserted in the previous pass and generates TryCatchBlock nodes and inserts them at the start of each new scope.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+2058 lines, -333 lines) |
Patch |
|
M |
.classpath
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
.hgignore
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
.project
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
build.xml
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
A |
extlibs/asm-all-4.0.jar
|
View
|
|
Binary file |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/ExceptionRangeStart.java
|
View
|
|
1 chunk |
+51 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/ExceptionRangeStop.java
|
View
|
|
1 chunk |
+51 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/FinallyStart.java
|
View
|
|
1 chunk |
+32 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/HandlerStart.java
|
View
|
|
1 chunk |
+53 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/TryCatchBlock.java
|
View
|
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/org/python/antlr/ast/VisitorBase.java
|
View
|
|
1 chunk |
+58 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/org/python/antlr/ast/VisitorIF.java
|
View
|
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/WithExit.java
|
View
|
1
|
1 chunk |
+46 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/WithSpecialLoad.java
|
View
|
1
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/YieldInput.java
|
View
|
1
|
1 chunk |
+25 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/YieldRestoreLocals.java
|
View
|
1
|
1 chunk |
+25 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/antlr/ast/YieldReturn.java
|
View
|
1
|
1 chunk |
+45 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/org/python/compiler/Code.java
|
View
|
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
src/org/python/compiler/CodeCompiler.java
|
View
|
1
|
28 chunks |
+160 lines, -316 lines |
0 comments
|
Download
|
|
M |
src/org/python/compiler/Future.java
|
View
|
|
2 chunks |
+11 lines, -5 lines |
0 comments
|
Download
|
|
A |
src/org/python/compiler/JDK7Compiler.java
|
View
|
|
1 chunk |
+38 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/org/python/compiler/LegacyCompiler.java
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/org/python/compiler/ScopesCompiler.java
|
View
|
|
5 chunks |
+14 lines, -2 lines |
0 comments
|
Download
|
|
A |
src/org/python/compiler/cfg/Edge.java
|
View
|
|
1 chunk |
+58 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/compiler/cfg/IRBuilder.java
|
View
|
|
1 chunk |
+403 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/compiler/cfg/IRPrinter.java
|
View
|
|
1 chunk |
+76 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/compiler/cfg/ScopedVisitor.java
|
View
|
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/compiler/cfg/StampTryCatch.java
|
View
|
|
1 chunk |
+69 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/org/python/compiler/cfg/TransitiveVisitor.java
|
View
|
|
1 chunk |
+659 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/org/python/core/CompilerFacade.java
|
View
|
|
3 chunks |
+21 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/org/python/core/ContextGuard.java
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/org/python/core/imp.java
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
A |
tmp/test.py
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|