Package gnu.bytecode

Class Scope

java.lang.Object
gnu.bytecode.Scope

public class Scope extends Object
  • Constructor Details

    • Scope

      public Scope()
    • Scope

      public Scope(Label start, Label end)
  • Method Details

    • firstVar

      public final Variable firstVar()
    • allVars

      public VarEnumerator allVars()
    • getStartLabel

      public Label getStartLabel()
    • getEndLabel

      public Label getEndLabel()
    • linkChild

      public void linkChild(Scope parent)
      Link this scope as the next child of its parent scope.
    • addVariable

      public Variable addVariable(CodeAttr code, Type type, String name)
    • addVariable

      public void addVariable(Variable var)
    • addVariableAfter

      public void addVariableAfter(Variable prev, Variable var)
    • addVariable

      public void addVariable(CodeAttr code, Variable var)
    • getVariable

      public Variable getVariable(int index)
      Return a variable the scope, by numerical index.
      Parameters:
      index - the number of the variable
    • fixParamNames

      public void fixParamNames(HashMap<String,Variable> map)
      Fix duplicate names. This is needed for Android, since otherwise dex complains.
    • setStartPC

      public void setStartPC(CodeAttr code)
    • noteStartFunction

      public void noteStartFunction(CodeAttr code)
      Should be called at the start of a logical function - inlined or not.
    • lookup

      public Variable lookup(String name)
      Search by name for a Variable in this Scope (only).
      Parameters:
      name - name to search for
      Returns:
      the Variable, or null if not found (in this scope).