org.jrubyparser.util
Class IInstanceVariableVisitor

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

public class IInstanceVariableVisitor
extends NoopVisitor

To use this visitor pass in the root of the scope you want to search for instance variables. This will not enter into contained classes/modules/singleton-classes so it should not see same-named ivars in a nested class. If you want those as well it is up to you to realize the ivars in those nested objects refer to the same instance variables and you need to visit them separately.


Constructor Summary
IInstanceVariableVisitor(Node root, String name)
           
 
Method Summary
static List<IInstanceVariable> findOccurrencesIn(Node root, String name)
          This helper method uses Node instead of IModuleScope so that you can do more localized searching (e.g.
 List<IInstanceVariable> getVariableList()
           
 void run()
           
 Object visitClassNode(ClassNode iVisited)
           
 Object visitInstAsgnNode(InstAsgnNode iVisited)
           
 Object visitInstVarNode(InstVarNode iVisited)
           
 Object visitModuleNode(ModuleNode iVisited)
           
 Object visitSClassNode(SClassNode iVisited)
           
 
Methods inherited from class org.jrubyparser.util.NoopVisitor
visit, visitAliasNode, visitAndNode, visitArgsCatNode, visitArgsNode, visitArgsPushNode, visitArgumentNode, visitArrayNode, visitAttrAssignNode, visitBackRefNode, visitBeginNode, visitBignumNode, visitBlockArg18Node, visitBlockArgNode, visitBlockNode, visitBlockPassNode, visitBreakNode, visitCallNode, visitCaseNode, visitClassVarAsgnNode, visitClassVarDeclNode, visitClassVarNode, visitColon2Node, visitColon3Node, visitCommentNode, visitConstDeclNode, visitConstNode, visitDAsgnNode, visitDefinedNode, visitDefnNode, visitDefsNode, visitDotNode, visitDRegxNode, visitDStrNode, visitDSymbolNode, visitDVarNode, visitDXStrNode, visitEncodingNode, visitEnsureNode, visitEvStrNode, visitFalseNode, visitFCallNode, visitFixnumNode, visitFlipNode, visitFloatNode, visitForNode, visitGlobalAsgnNode, visitGlobalVarNode, visitHashNode, visitIfNode, visitImplicitNilNode, visitIterNode, visitKeywordArgNode, visitKeywordRestArgNode, visitLambdaNode, visitListNode, visitLiteralNode, visitLocalAsgnNode, visitLocalVarNode, visitMatch2Node, visitMatch3Node, visitMatchNode, visitMethodNameNode, visitMultipleAsgnNode, visitNewlineNode, visitNextNode, visitNilNode, visitNotNode, visitNthRefNode, visitOpAsgnAndNode, visitOpAsgnNode, visitOpAsgnOrNode, visitOpElementAsgnNode, visitOptArgNode, visitOrNode, visitPostExeNode, visitPreExeNode, visitRedoNode, visitRegexpNode, visitRescueBodyNode, visitRescueNode, visitRestArgNode, visitRetryNode, visitReturnNode, visitRootNode, 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

IInstanceVariableVisitor

public IInstanceVariableVisitor(Node root,
                                String name)
Method Detail

findOccurrencesIn

public static List<IInstanceVariable> findOccurrencesIn(Node root,
                                                        String name)
This helper method uses Node instead of IModuleScope so that you can do more localized searching (e.g. all instance variables in a method).


run

public void run()

getVariableList

public List<IInstanceVariable> getVariableList()

visitInstAsgnNode

public Object visitInstAsgnNode(InstAsgnNode iVisited)
Specified by:
visitInstAsgnNode in interface NodeVisitor
Overrides:
visitInstAsgnNode in class NoopVisitor

visitInstVarNode

public Object visitInstVarNode(InstVarNode iVisited)
Specified by:
visitInstVarNode in interface NodeVisitor
Overrides:
visitInstVarNode in class NoopVisitor

visitClassNode

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

visitModuleNode

public Object visitModuleNode(ModuleNode iVisited)
Specified by:
visitModuleNode in interface NodeVisitor
Overrides:
visitModuleNode 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.