Class IRFinallyCodePartitioner
- java.lang.Object
-
- gw.internal.gosu.ir.compiler.bytecode.IRFinallyCodePartitioner
-
public class IRFinallyCodePartitioner extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private IRBytecodeContext_contextprivate java.util.List<org.objectweb.asm.Label>_finallyEndsprivate java.util.List<org.objectweb.asm.Label>_finallyStartsprivate IRTryCatchFinallyStatement_tryCatchFinallyStmt
-
Constructor Summary
Constructors Constructor Description IRFinallyCodePartitioner(IRBytecodeContext context, IRTryCatchFinallyStatement tryCatchFinallyStmt)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static booleanapplies(IRStatement statement, IRTerminalStatement terminal)booleanappliesTo(IRTerminalStatement elt)private static booleanelementIsEnclosedBy(IRElement elt, java.lang.Class enclosedType, IRStatement stmt)voidendInlineFinally(org.objectweb.asm.Label endLabel)java.util.List<org.objectweb.asm.Label>getFinallyEnds()java.util.List<org.objectweb.asm.Label>getFinallyStarts()voidinlineFinally()private static booleanisContainedControlFlow(IRTerminalStatement elt, IRStatement stmt)java.lang.StringtoString()
-
-
-
Field Detail
-
_context
private IRBytecodeContext _context
-
_tryCatchFinallyStmt
private IRTryCatchFinallyStatement _tryCatchFinallyStmt
-
_finallyStarts
private java.util.List<org.objectweb.asm.Label> _finallyStarts
-
_finallyEnds
private java.util.List<org.objectweb.asm.Label> _finallyEnds
-
-
Constructor Detail
-
IRFinallyCodePartitioner
public IRFinallyCodePartitioner(IRBytecodeContext context, IRTryCatchFinallyStatement tryCatchFinallyStmt)
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
inlineFinally
public void inlineFinally()
-
getFinallyStarts
public java.util.List<org.objectweb.asm.Label> getFinallyStarts()
-
getFinallyEnds
public java.util.List<org.objectweb.asm.Label> getFinallyEnds()
-
appliesTo
public boolean appliesTo(IRTerminalStatement elt)
-
applies
public static boolean applies(IRStatement statement, IRTerminalStatement terminal)
-
isContainedControlFlow
private static boolean isContainedControlFlow(IRTerminalStatement elt, IRStatement stmt)
-
elementIsEnclosedBy
private static boolean elementIsEnclosedBy(IRElement elt, java.lang.Class enclosedType, IRStatement stmt)
-
endInlineFinally
public void endInlineFinally(org.objectweb.asm.Label endLabel)
-
-