Package org.codehaus.groovy.ast
Class VariableScope
- java.lang.Object
-
- org.codehaus.groovy.ast.VariableScope
-
public class VariableScope extends java.lang.Object
Represents a variable scope. This is primarily used to determine variable sharing across method and closure boundaries.- Version:
- $Revision$
- Author:
- James Strachan, Jochen Theodorou
-
-
Constructor Summary
Constructors Constructor Description VariableScope()
VariableScope(VariableScope parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method 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(java.lang.String name)
VariableScope
getParent()
Variable
getReferencedClassVariable(java.lang.String name)
java.util.Map<java.lang.String,Variable>
getReferencedClassVariables()
Gets a map containing the class variables referenced by this scope.java.util.Iterator<Variable>
getReferencedClassVariablesIterator()
Gets an iterator for the referenced class variables.Variable
getReferencedLocalVariable(java.lang.String name)
int
getReferencedLocalVariablesCount()
java.util.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(java.lang.String name)
boolean
isReferencedLocalVariable(java.lang.String name)
boolean
isResolvingDynamic()
Deprecated.boolean
isRoot()
void
putDeclaredVariable(Variable var)
void
putReferencedClassVariable(Variable var)
void
putReferencedLocalVariable(Variable var)
java.lang.Object
removeReferencedClassVariable(java.lang.String name)
void
setClassScope(ClassNode node)
void
setDynamicResolving(boolean resolvesDynamic)
Deprecated.void
setInStaticContext(boolean inStaticContext)
-
-
-
Constructor Detail
-
VariableScope
public VariableScope()
-
VariableScope
public VariableScope(VariableScope parent)
-
-
Method Detail
-
getDeclaredVariable
public Variable getDeclaredVariable(java.lang.String name)
-
isReferencedLocalVariable
public boolean isReferencedLocalVariable(java.lang.String name)
-
isReferencedClassVariable
public boolean isReferencedClassVariable(java.lang.String name)
-
getParent
public VariableScope getParent()
-
isInStaticContext
public boolean isInStaticContext()
-
setInStaticContext
public void setInStaticContext(boolean inStaticContext)
-
isResolvingDynamic
@Deprecated public boolean isResolvingDynamic()
Deprecated.
-
setDynamicResolving
@Deprecated public void setDynamicResolving(boolean resolvesDynamic)
Deprecated.
-
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()
-
copy
public VariableScope copy()
-
putDeclaredVariable
public void putDeclaredVariable(Variable var)
-
getReferencedLocalVariablesIterator
public java.util.Iterator<Variable> getReferencedLocalVariablesIterator()
-
getReferencedLocalVariablesCount
public int getReferencedLocalVariablesCount()
-
getReferencedLocalVariable
public Variable getReferencedLocalVariable(java.lang.String name)
-
putReferencedLocalVariable
public void putReferencedLocalVariable(Variable var)
-
putReferencedClassVariable
public void putReferencedClassVariable(Variable var)
-
getReferencedClassVariable
public Variable getReferencedClassVariable(java.lang.String name)
-
removeReferencedClassVariable
public java.lang.Object removeReferencedClassVariable(java.lang.String name)
-
getReferencedClassVariables
public java.util.Map<java.lang.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 java.util.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
-
-