Class CompileContext


  • public class CompileContext
    extends java.lang.Object
    class which retains compiler state during recursive compilation of rule expressions to bytecode
    • Field Detail

      • sourceLine

        private int sourceLine
      • stackCount

        private int stackCount
      • stackMax

        private int stackMax
      • localCount

        private int localCount
      • localMax

        private int localMax
      • mv

        private org.objectweb.asm.MethodVisitor mv
    • Constructor Detail

      • CompileContext

        CompileContext​(org.objectweb.asm.MethodVisitor mv)
    • Method Detail

      • getSourceLine

        public int getSourceLine()
      • getStackCount

        public int getStackCount()
      • getLocalCount

        public int getLocalCount()
      • getStackMax

        public int getStackMax()
      • getLocalMax

        public int getLocalMax()
      • addStackCount

        public void addStackCount​(int count)
      • addLocalCount

        public void addLocalCount​(int count)
      • notifySourceLine

        public void notifySourceLine​(int line)
      • notifySourceEnd

        public void notifySourceEnd()
      • compileTypeConversion

        public void compileTypeConversion​(Type fromType,
                                          Type toType)
      • compileNumericConversion

        public void compileNumericConversion​(Type fromType,
                                             Type toType)
      • compileUnbox

        public void compileUnbox​(Type fromType,
                                 Type toType)
        compile code to convert a value of a boxed type to a primitive type, possibly not the immediately related primitive type
        Parameters:
        fromType - the type of the value to be unboxed
        toType - he type required after unboxing
      • compileBox

        public void compileBox​(Type toType)
        box a value belonging to a primitive type
        Parameters:
        toType - the type required after boxing
      • compileStringConversion

        public void compileStringConversion​(Type fromType,
                                            Type toType)
      • compilePrimitiveConversion

        public void compilePrimitiveConversion​(Type fromType,
                                               Type toType)
        compile code to convert a numeric or character primitive to a numeric or character primitive
        Parameters:
        fromType - the type of the value to be converted
        toType - the type required after conversion
      • compileBooleanConversion

        public void compileBooleanConversion​(Type fromType,
                                             Type toType)
      • compileObjectConversion

        public void compileObjectConversion​(Type fromType,
                                            Type toType)
      • compileCheckCast

        public void compileCheckCast​(Type toType)