Class LocalVariableHelper

java.lang.Object
ai.timefold.jpyinterpreter.LocalVariableHelper
Direct Known Subclasses:
GeneratorLocalVariableHelper

public class LocalVariableHelper extends Object
  • Field Details

    • parameters

      public final org.objectweb.asm.Type[] parameters
    • argcount

      public final int argcount
    • parameterSlotsEnd

      public final int parameterSlotsEnd
    • pythonCellVariablesStart

      public final int pythonCellVariablesStart
    • pythonFreeVariablesStart

      public final int pythonFreeVariablesStart
    • pythonLocalVariablesSlotEnd

      public final int pythonLocalVariablesSlotEnd
    • pythonBoundVariables

      public final int pythonBoundVariables
    • pythonFreeVariables

      public final int pythonFreeVariables
    • boundCellIndexToVariableIndex

      public final Map<Integer,Integer> boundCellIndexToVariableIndex
    • currentExceptionVariableSlot

      public final int currentExceptionVariableSlot
    • callKeywordsSlot

      public final int callKeywordsSlot
    • exceptionTableTargetToSavedStackMap

      public final Map<Integer,Integer> exceptionTableTargetToSavedStackMap
  • Constructor Details

    • LocalVariableHelper

      public LocalVariableHelper(org.objectweb.asm.Type[] parameters, PythonCompiledFunction compiledFunction)
  • Method Details

    • copy

      public LocalVariableHelper copy()
    • getParameterSlot

      public int getParameterSlot(int parameterIndex)
    • getPythonLocalVariableSlot

      public int getPythonLocalVariableSlot(int index)
    • getPythonCellOrFreeVariableSlot

      public int getPythonCellOrFreeVariableSlot(int index)
    • getCurrentExceptionVariableSlot

      public int getCurrentExceptionVariableSlot()
    • getCallKeywordsSlot

      public int getCallKeywordsSlot()
    • getNumberOfFreeCells

      public int getNumberOfFreeCells()
    • getNumberOfBoundCells

      public int getNumberOfBoundCells()
    • getNumberOfCells

      public int getNumberOfCells()
    • getNumberOfLocalVariables

      public int getNumberOfLocalVariables()
    • newLocal

      public int newLocal()
    • freeLocal

      public void freeLocal()
    • getUsedLocals

      public int getUsedLocals()
    • readLocal

      public void readLocal(org.objectweb.asm.MethodVisitor methodVisitor, int local)
    • writeLocal

      public void writeLocal(org.objectweb.asm.MethodVisitor methodVisitor, int local)
    • readCellInitialValue

      public void readCellInitialValue(org.objectweb.asm.MethodVisitor methodVisitor, int cell)
    • readCell

      public void readCell(org.objectweb.asm.MethodVisitor methodVisitor, int cell)
    • writeCell

      public void writeCell(org.objectweb.asm.MethodVisitor methodVisitor, int cell)
    • writeFreeCell

      public void writeFreeCell(org.objectweb.asm.MethodVisitor methodVisitor, int cell)
    • readCurrentException

      public void readCurrentException(org.objectweb.asm.MethodVisitor methodVisitor)
    • writeCurrentException

      public void writeCurrentException(org.objectweb.asm.MethodVisitor methodVisitor)
    • getExceptionTableTargetStackSlot

      public int getExceptionTableTargetStackSlot(int target)
    • readExceptionTableTargetStack

      public void readExceptionTableTargetStack(org.objectweb.asm.MethodVisitor methodVisitor, int target)
    • writeExceptionTableTargetStack

      public void writeExceptionTableTargetStack(org.objectweb.asm.MethodVisitor methodVisitor, int target)
    • setupInitialStoredExceptionStacks

      public void setupInitialStoredExceptionStacks(org.objectweb.asm.MethodVisitor methodVisitor)
    • readCallKeywords

      public void readCallKeywords(org.objectweb.asm.MethodVisitor methodVisitor)
    • writeCallKeywords

      public void writeCallKeywords(org.objectweb.asm.MethodVisitor methodVisitor)
    • resetCallKeywords

      public void resetCallKeywords(org.objectweb.asm.MethodVisitor methodVisitor)
    • readTemp

      public void readTemp(org.objectweb.asm.MethodVisitor methodVisitor, org.objectweb.asm.Type type, int temp)
    • writeTemp

      public void writeTemp(org.objectweb.asm.MethodVisitor methodVisitor, org.objectweb.asm.Type type, int temp)
    • incrementTemp

      public void incrementTemp(org.objectweb.asm.MethodVisitor methodVisitor, int temp)