org.codehaus.groovy.classgen
Class VariableScopeCodeVisitor

java.lang.Object
  extended byorg.codehaus.groovy.ast.CodeVisitorSupport
      extended byorg.codehaus.groovy.classgen.VariableScopeCodeVisitor
All Implemented Interfaces:
GroovyCodeVisitor

public class VariableScopeCodeVisitor
extends CodeVisitorSupport

A visitor which figures out which variables are in scope

Version:
$Revision: 1.10 $
Author:
James Strachan

Field Summary
private  VariableScope scope
           
 
Constructor Summary
VariableScopeCodeVisitor(VariableScope scope)
           
 
Method Summary
protected  VariableScopeCodeVisitor createClosureVisitor(ClosureExpression expression)
           
protected  void declareVariable(java.lang.String variable)
           
protected  void declareVariable(VariableExpression varExp)
           
 java.util.Set getDeclaredVariables()
           
 java.util.Set getReferencedVariables()
           
protected  void setParameters(Parameter[] parameters)
           
 void visitBinaryExpression(BinaryExpression expression)
           
 void visitClosureExpression(ClosureExpression expression)
           
 void visitForLoop(ForStatement forLoop)
           
 void visitMethodCallExpression(MethodCallExpression call)
           
 void visitPostfixExpression(PostfixExpression expression)
           
 void visitPrefixExpression(PrefixExpression expression)
           
 void visitVariableExpression(VariableExpression expression)
           
 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBitwiseNegExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitCaseStatement, visitCastExpression, visitClassExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitFieldExpression, visitGStringExpression, visitIfElse, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitNegationExpression, visitNotExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitReturnStatement, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitWhileLoop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scope

private VariableScope scope
Constructor Detail

VariableScopeCodeVisitor

public VariableScopeCodeVisitor(VariableScope scope)
Method Detail

getReferencedVariables

public java.util.Set getReferencedVariables()

getDeclaredVariables

public java.util.Set getDeclaredVariables()

visitBinaryExpression

public void visitBinaryExpression(BinaryExpression expression)
Specified by:
visitBinaryExpression in interface GroovyCodeVisitor
Overrides:
visitBinaryExpression in class CodeVisitorSupport

visitForLoop

public void visitForLoop(ForStatement forLoop)
Specified by:
visitForLoop in interface GroovyCodeVisitor
Overrides:
visitForLoop in class CodeVisitorSupport

visitClosureExpression

public void visitClosureExpression(ClosureExpression expression)
Specified by:
visitClosureExpression in interface GroovyCodeVisitor
Overrides:
visitClosureExpression in class CodeVisitorSupport

visitVariableExpression

public void visitVariableExpression(VariableExpression expression)
Specified by:
visitVariableExpression in interface GroovyCodeVisitor
Overrides:
visitVariableExpression in class CodeVisitorSupport

visitPostfixExpression

public void visitPostfixExpression(PostfixExpression expression)
Specified by:
visitPostfixExpression in interface GroovyCodeVisitor
Overrides:
visitPostfixExpression in class CodeVisitorSupport

visitPrefixExpression

public void visitPrefixExpression(PrefixExpression expression)
Specified by:
visitPrefixExpression in interface GroovyCodeVisitor
Overrides:
visitPrefixExpression in class CodeVisitorSupport

visitMethodCallExpression

public void visitMethodCallExpression(MethodCallExpression call)
Specified by:
visitMethodCallExpression in interface GroovyCodeVisitor
Overrides:
visitMethodCallExpression in class CodeVisitorSupport

setParameters

protected void setParameters(Parameter[] parameters)

declareVariable

protected void declareVariable(VariableExpression varExp)

declareVariable

protected void declareVariable(java.lang.String variable)

createClosureVisitor

protected VariableScopeCodeVisitor createClosureVisitor(ClosureExpression expression)


Copyright © 2003-2005 The Codehaus. All Rights Reserved.