Class IRBytecodeContext

java.lang.Object
gw.internal.gosu.ir.compiler.bytecode.IRBytecodeContext

public class IRBytecodeContext extends Object
  • 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()
    • visitLocalVars

      public void visitLocalVars()
    • pushScope

      public void pushScope()
    • popScope

      public void popScope()
    • indexThis

      public void indexThis(IRType type)
    • indexSymbols

      public void indexSymbols(List<IRSymbol> symbols)
    • getLocalVar

      public IRCompilerLocalVar getLocalVar(IRSymbol symbol)
    • makeTempVar

      public IRCompilerLocalVar makeTempVar(IRType type)
    • pushFinallyStatement

      public IRFinallyCodePartitioner pushFinallyStatement(IRTryCatchFinallyStatement tryCatchFinallyStmt)
    • popFinallyStatement

      public void popFinallyStatement(IRFinallyCodePartitioner partition)
    • hasFinallyStatements

      public boolean hasFinallyStatements()
    • getFinallyParitioners

      public Stack<IRFinallyCodePartitioner> getFinallyParitioners()
    • peekFinallyPartitioner

      public IRFinallyCodePartitioner peekFinallyPartitioner()
    • inlineFinallyStatements

      public void inlineFinallyStatements(IRTerminalStatement stmt)
    • compile

      public void compile(IRElement element)
    • 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)