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 intprivate org.objectweb.asm.Labelprivate org.objectweb.asm.MethodVisitorprivate Stack<IRCompilerScope>private int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidorg.objectweb.asm.Labelorg.objectweb.asm.LabelintgetLocalVar(IRSymbol symbol) intorg.objectweb.asm.MethodVisitorgetMv()booleanvoidindexSymbols(List<IRSymbol> symbols) voidvoidprivate booleanmakeTempVar(IRType type) voidvoidvoidpopFinallyStatement(IRFinallyCodePartitioner partition) voidpopScope()voidpushBreakLabel(org.objectweb.asm.Label label) voidpushContinueLabel(org.objectweb.asm.Label label) pushFinallyStatement(IRTryCatchFinallyStatement tryCatchFinallyStmt) voidintsetLineNumber(int lineNumber) voidvisitLabel(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)
-