Class IRBytecodeContext
java.lang.Object
gw.internal.gosu.ir.compiler.bytecode.IRBytecodeContext
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<IRCompilerLocalVar>
private Stack<org.objectweb.asm.Label>
private Stack<org.objectweb.asm.Label>
private Stack<IRFinallyCodePartitioner>
private int
private org.objectweb.asm.Label
private org.objectweb.asm.MethodVisitor
private Stack<IRCompilerScope>
private int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
org.objectweb.asm.Label
org.objectweb.asm.Label
int
getLocalVar
(IRSymbol symbol) int
org.objectweb.asm.MethodVisitor
getMv()
boolean
void
indexSymbols
(List<IRSymbol> symbols) void
void
private boolean
makeTempVar
(IRType type) void
void
void
popFinallyStatement
(IRFinallyCodePartitioner partition) void
popScope()
void
pushBreakLabel
(org.objectweb.asm.Label label) void
pushContinueLabel
(org.objectweb.asm.Label label) pushFinallyStatement
(IRTryCatchFinallyStatement tryCatchFinallyStmt) void
int
setLineNumber
(int lineNumber) void
visitLabel
(org.objectweb.asm.Label label) void
-
Field Details
-
_mv
private org.objectweb.asm.MethodVisitor _mv -
_scopes
-
_allLocalVars
-
_finallyStatements
-
_tempVarCount
private int _tempVarCount -
_breakLabels
-
_continueLabels
-
_lastVisitedLabel
private org.objectweb.asm.Label _lastVisitedLabel -
_lastLineNumber
private int _lastLineNumber
-
-
Constructor Details
-
IRBytecodeContext
public IRBytecodeContext(org.objectweb.asm.MethodVisitor mv)
-
-
Method Details
-
getMv
public org.objectweb.asm.MethodVisitor getMv() -
visitLabel
public void visitLabel(org.objectweb.asm.Label label) -
getLocalCount
public int getLocalCount() -
getMaxScopeSize
public int getMaxScopeSize() -
isOutOfScope
-
visitLocalVars
public void visitLocalVars() -
pushScope
public void pushScope() -
popScope
public void popScope() -
indexThis
-
indexSymbols
-
getLocalVar
-
makeTempVar
-
pushFinallyStatement
public IRFinallyCodePartitioner pushFinallyStatement(IRTryCatchFinallyStatement tryCatchFinallyStmt) -
popFinallyStatement
-
hasFinallyStatements
public boolean hasFinallyStatements() -
getFinallyParitioners
-
peekFinallyPartitioner
-
inlineFinallyStatements
-
compile
-
pushBreakLabel
public void pushBreakLabel(org.objectweb.asm.Label label) -
popBreakLabel
public void popBreakLabel() -
pushContinueLabel
public void pushContinueLabel(org.objectweb.asm.Label label) -
popContinueLabel
public void popContinueLabel() -
getCurrentBreakLabel
public org.objectweb.asm.Label getCurrentBreakLabel() -
getCurrentContinueLabel
public org.objectweb.asm.Label getCurrentContinueLabel() -
setLineNumber
public int setLineNumber(int lineNumber)
-