Package gnu.bytecode

Class Scope


  • public class Scope
    extends Object
    • Constructor Detail

      • Scope

        public Scope()
      • Scope

        public Scope​(Label start,
                     Label end)
    • Method Detail

      • firstVar

        public final Variable firstVar()
      • 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 void addVariable​(Variable var)
      • addVariableAfter

        public void addVariableAfter​(Variable prev,
                                     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).