[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 Params Return 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)
Map<String, Variable> getDeclaredVariables()
Gets a map containing the variables declared in this scope.
Iterator<Variable> getDeclaredVariablesIterator()
Gets an iterator for the declared class variables.
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 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

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

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)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/ast/VariableScope.html