VariableScope (groovy 2.4.6 API)
Date: 2016-02-18

Package: org.codehaus.groovy.ast

## [Java] Class VariableScope

- org.codehaus.groovy.ast.VariableScope

- Represents a variable scope. This is primarily used to determine variable sharing across method and closure boundaries.

  Authors:
    James Strachan
    Jochen Theodorou

- - ### Constructor Summary

    Constructors
    Constructor and description
    `VariableScope ()`
    `VariableScope (VariableScope parent)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `VariableScope` | `copy()`
    `ClassNode` | `getClassScope()` Non-null iff this scope corresponds to a class; as opposed to a method, "if" statement, block statement, etc.
    `Variable` | `getDeclaredVariable(String name)`
    `VariableScope` | `getParent()`
    `Variable` | `getReferencedClassVariable(String name)`
    `Map<String, Variable>` | `getReferencedClassVariables()` Gets a map containing the class variables referenced by this scope.
    `Iterator<Variable>` | `getReferencedClassVariablesIterator()` Gets an iterator for the referenced class variables.
    `Variable` | `getReferencedLocalVariable(String name)`
    `int` | `getReferencedLocalVariablesCount()`
    `Iterator<Variable>` | `getReferencedLocalVariablesIterator()`
    `boolean` | `isClassScope()` Returns true iff this scope corresponds to a class; as opposed to a method, "if" statement, block statement, etc.
    `boolean` | `isInStaticContext()`
    `boolean` | `isReferencedClassVariable(String name)`
    `boolean` | `isReferencedLocalVariable(String name)`
    `boolean` | `isRoot()`
    `void` | `putDeclaredVariable(Variable var)`
    `void` | `putReferencedClassVariable(Variable var)`
    `void` | `putReferencedLocalVariable(Variable var)`
    `Object` | `removeReferencedClassVariable(String name)`
    `void` | `setClassScope(ClassNode node)`
    `void` | `setInStaticContext(boolean inStaticContext)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Constructor Detail

    - #### public VariableScope()

    - #### public VariableScope(VariableScope parent)

  - ### Method Detail

    - #### public VariableScope copy()

    - #### public ClassNode getClassScope()

      Non-null iff this scope corresponds to a class; as opposed to a method, "if" statement, block statement, etc.

    - #### public Variable getDeclaredVariable(String name)

    - #### public VariableScope getParent()

    - #### public Variable getReferencedClassVariable(String name)

    - #### 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

    - #### 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

    - #### public Variable getReferencedLocalVariable(String name)

    - #### public int getReferencedLocalVariablesCount()

    - #### public Iterator<Variable> getReferencedLocalVariablesIterator()

    - #### public boolean isClassScope()

      Returns true iff this scope corresponds to a class; as opposed to a method, "if" statement, block statement, etc.

    - #### public boolean isInStaticContext()

    - #### public boolean isReferencedClassVariable(String name)

    - #### public boolean isReferencedLocalVariable(String name)

    - #### public boolean isRoot()

    - #### public void putDeclaredVariable(Variable var)

    - #### public void putReferencedClassVariable(Variable var)

    - #### public void putReferencedLocalVariable(Variable var)

    - #### public Object removeReferencedClassVariable(String name)

    - #### public void setClassScope(ClassNode node)

    - #### public void setInStaticContext(boolean inStaticContext)