Class VariableScope


  • public class VariableScope
    extends Object
    Represents a variable scope. This is primarily used to determine variable sharing across method and closure boundaries.
    • Constructor Detail

      • VariableScope

        public VariableScope()
    • Method Detail

      • getDeclaredVariable

        public Variable getDeclaredVariable​(String name)
      • isReferencedLocalVariable

        public boolean isReferencedLocalVariable​(String name)
      • isReferencedClassVariable

        public boolean isReferencedClassVariable​(String name)
      • isInStaticContext

        public boolean isInStaticContext()
      • setInStaticContext

        public void setInStaticContext​(boolean inStaticContext)
      • setClassScope

        public void setClassScope​(ClassNode node)
      • getClassScope

        public ClassNode getClassScope()
        Non-null iff this scope corresponds to a class; as opposed to a method, "if" statement, block statement, etc.
      • isClassScope

        public boolean isClassScope()
        Returns true iff this scope corresponds to a class; as opposed to a method, "if" statement, block statement, etc.
      • isRoot

        public boolean isRoot()
      • putDeclaredVariable

        public void putDeclaredVariable​(Variable var)
      • getReferencedLocalVariablesIterator

        public Iterator<Variable> getReferencedLocalVariablesIterator()
      • getReferencedLocalVariablesCount

        public int getReferencedLocalVariablesCount()
      • getReferencedLocalVariable

        public Variable getReferencedLocalVariable​(String name)
      • putReferencedLocalVariable

        public void putReferencedLocalVariable​(Variable var)
      • putReferencedClassVariable

        public void putReferencedClassVariable​(Variable var)
      • getReferencedClassVariable

        public Variable getReferencedClassVariable​(String name)
      • removeReferencedClassVariable

        public Object removeReferencedClassVariable​(String name)
      • getReferencedClassVariables

        public Map<String,​Variable> getReferencedClassVariables()
        Gets a map containing the class variables referenced by this scope. This not can not be modified.
        Returns:
        a map containing the class variable references
      • getReferencedClassVariablesIterator

        public Iterator<Variable> getReferencedClassVariablesIterator()
        Gets an iterator for the referenced class variables. The remove operation is not supported.
        Returns:
        an iterator for the referenced class variables
      • getDeclaredVariables

        public Map<String,​Variable> getDeclaredVariables()
        Gets a map containing the variables declared in this scope. This map cannot be modified.
        Returns:
        a map containing the declared variable references
      • getDeclaredVariablesIterator

        public Iterator<Variable> getDeclaredVariablesIterator()
        Gets an iterator for the declared class variables. The remove operation is not supported.
        Returns:
        an iterator for the declared variables