org.jrubyparser.util
Class ILocalVariableVisitor

java.lang.Object
  extended by org.jrubyparser.util.NoopVisitor
      extended by org.jrubyparser.util.ILocalVariableVisitor
All Implemented Interfaces:
NodeVisitor

public class ILocalVariableVisitor
extends NoopVisitor

Find all ILocalVariables for a particular scope. The implementation will walk all children until it runs into a nested scope which cannot possibly be in the current scope (e.g. a def in a def). IterNode is the lone IScope which can capture external ILocalVariables so we let the visitor enter into them. Restricting this walking is meant as an optimization since our logic will only allow variables of the same scope to be added to the list.


Constructor Summary
ILocalVariableVisitor(IScope scope, String name)
           
 
Method Summary
static List<ILocalVariable> findOccurrencesIn(IScope scope, String name)
           
 List<ILocalVariable> getVariableList()
           
 void run()
           
 Object visitArgumentNode(ArgumentNode iVisited)
           
 Object visitBlockArgNode(BlockArgNode iVisited)
           
 Object visitClassNode(ClassNode iVisited)
           
 Object visitDAsgnNode(DAsgnNode iVisited)
           
 Object visitDefnNode(DefnNode iVisited)
           
 Object visitDefsNode(DefsNode iVisited)
           
 Object visitDVarNode(DVarNode iVisited)
           
 Object visitLocalAsgnNode(LocalAsgnNode iVisited)
           
 Object visitLocalVarNode(LocalVarNode iVisited)
           
 Object visitModuleNode(ModuleNode iVisited)
           
 Object visitRestArgNode(RestArgNode iVisited)
           
 Object visitRootNode(RootNode iVisited)
           
 Object visitSClassNode(SClassNode iVisited)
           
 
Methods inherited from class org.jrubyparser.util.NoopVisitor
visit, visitAliasNode, visitAndNode, visitArgsCatNode, visitArgsNode, visitArgsPushNode, visitArrayNode, visitAttrAssignNode, visitBackRefNode, visitBeginNode, visitBignumNode, visitBlockArg18Node, visitBlockNode, visitBlockPassNode, visitBreakNode, visitCallNode, visitCaseNode, visitClassVarAsgnNode, visitClassVarDeclNode, visitClassVarNode, visitColon2Node, visitColon3Node, visitCommentNode, visitConstDeclNode, visitConstNode, visitDefinedNode, visitDotNode, visitDRegxNode, visitDStrNode, visitDSymbolNode, visitDXStrNode, visitEncodingNode, visitEnsureNode, visitEvStrNode, visitFalseNode, visitFCallNode, visitFixnumNode, visitFlipNode, visitFloatNode, visitForNode, visitGlobalAsgnNode, visitGlobalVarNode, visitHashNode, visitIfNode, visitImplicitNilNode, visitInstAsgnNode, visitInstVarNode, visitIterNode, visitKeywordArgNode, visitKeywordRestArgNode, visitLambdaNode, visitListNode, visitLiteralNode, visitMatch2Node, visitMatch3Node, visitMatchNode, visitMethodNameNode, visitMultipleAsgnNode, visitNewlineNode, visitNextNode, visitNilNode, visitNotNode, visitNthRefNode, visitOpAsgnAndNode, visitOpAsgnNode, visitOpAsgnOrNode, visitOpElementAsgnNode, visitOptArgNode, visitOrNode, visitPostExeNode, visitPreExeNode, visitRedoNode, visitRegexpNode, visitRescueBodyNode, visitRescueNode, visitRetryNode, visitReturnNode, visitSelfNode, visitSplatNode, visitStrNode, visitSuperNode, visitSValueNode, visitSymbolNode, visitSyntaxNode, visitToAryNode, visitTrueNode, visitUnaryCallNode, visitUndefNode, visitUntilNode, visitVAliasNode, visitVCallNode, visitWhenNode, visitWhileNode, visitXStrNode, visitYieldNode, visitZArrayNode, visitZSuperNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ILocalVariableVisitor

public ILocalVariableVisitor(IScope scope,
                             String name)
Method Detail

findOccurrencesIn

public static List<ILocalVariable> findOccurrencesIn(IScope scope,
                                                     String name)

run

public void run()

getVariableList

public List<ILocalVariable> getVariableList()

visitArgumentNode

public Object visitArgumentNode(ArgumentNode iVisited)
Specified by:
visitArgumentNode in interface NodeVisitor
Overrides:
visitArgumentNode in class NoopVisitor

visitBlockArgNode

public Object visitBlockArgNode(BlockArgNode iVisited)
Specified by:
visitBlockArgNode in interface NodeVisitor
Overrides:
visitBlockArgNode in class NoopVisitor

visitClassNode

public Object visitClassNode(ClassNode iVisited)
Specified by:
visitClassNode in interface NodeVisitor
Overrides:
visitClassNode in class NoopVisitor

visitDAsgnNode

public Object visitDAsgnNode(DAsgnNode iVisited)
Specified by:
visitDAsgnNode in interface NodeVisitor
Overrides:
visitDAsgnNode in class NoopVisitor

visitDVarNode

public Object visitDVarNode(DVarNode iVisited)
Specified by:
visitDVarNode in interface NodeVisitor
Overrides:
visitDVarNode in class NoopVisitor

visitDefnNode

public Object visitDefnNode(DefnNode iVisited)
Specified by:
visitDefnNode in interface NodeVisitor
Overrides:
visitDefnNode in class NoopVisitor

visitDefsNode

public Object visitDefsNode(DefsNode iVisited)
Specified by:
visitDefsNode in interface NodeVisitor
Overrides:
visitDefsNode in class NoopVisitor

visitLocalAsgnNode

public Object visitLocalAsgnNode(LocalAsgnNode iVisited)
Specified by:
visitLocalAsgnNode in interface NodeVisitor
Overrides:
visitLocalAsgnNode in class NoopVisitor

visitLocalVarNode

public Object visitLocalVarNode(LocalVarNode iVisited)
Specified by:
visitLocalVarNode in interface NodeVisitor
Overrides:
visitLocalVarNode in class NoopVisitor

visitModuleNode

public Object visitModuleNode(ModuleNode iVisited)
Specified by:
visitModuleNode in interface NodeVisitor
Overrides:
visitModuleNode in class NoopVisitor

visitRestArgNode

public Object visitRestArgNode(RestArgNode iVisited)
Specified by:
visitRestArgNode in interface NodeVisitor
Overrides:
visitRestArgNode in class NoopVisitor

visitRootNode

public Object visitRootNode(RootNode iVisited)
Specified by:
visitRootNode in interface NodeVisitor
Overrides:
visitRootNode in class NoopVisitor

visitSClassNode

public Object visitSClassNode(SClassNode iVisited)
Specified by:
visitSClassNode in interface NodeVisitor
Overrides:
visitSClassNode in class NoopVisitor


Copyright © 2013. All Rights Reserved.