net.sourceforge.pmd.ast
Class SimpleNode

java.lang.Object
  extended bynet.sourceforge.pmd.ast.SimpleNode
All Implemented Interfaces:
Node
Direct Known Subclasses:
AccessNode, ASTAdditiveExpression, ASTAllocationExpression, ASTAndExpression, ASTArgumentList, ASTArguments, ASTArrayDimsAndInits, ASTArrayInitializer, ASTAssertStatement, ASTAssignmentOperator, ASTBlock, ASTBlockStatement, ASTBooleanLiteral, ASTBreakStatement, ASTCastExpression, ASTCastLookahead, ASTClassBody, ASTClassBodyDeclaration, ASTCompilationUnit, ASTConditionalAndExpression, ASTConditionalExpression, ASTConditionalOrExpression, ASTContinueStatement, ASTDoStatement, ASTEmptyStatement, ASTEqualityExpression, ASTExclusiveOrExpression, ASTExplicitConstructorInvocation, ASTExpression, ASTForInit, ASTFormalParameters, ASTForStatement, ASTForUpdate, ASTIfStatement, ASTImportDeclaration, ASTInclusiveOrExpression, ASTInitializer, ASTInstanceOfExpression, ASTInterfaceMemberDeclaration, ASTLabeledStatement, ASTLiteral, ASTMethodDeclarationLookahead, ASTMethodDeclarator, ASTMultiplicativeExpression, ASTName, ASTNameList, ASTNullLiteral, ASTPackageDeclaration, ASTPostfixExpression, ASTPreDecrementExpression, ASTPreIncrementExpression, ASTPrimaryExpression, ASTPrimaryPrefix, ASTPrimarySuffix, ASTPrimitiveType, ASTRelationalExpression, ASTResultType, ASTReturnStatement, ASTShiftExpression, ASTStatement, ASTStatementExpression, ASTStatementExpressionList, ASTSwitchLabel, ASTSwitchStatement, ASTSynchronizedStatement, ASTThrowStatement, ASTTryStatement, ASTType, ASTTypeDeclaration, ASTUnaryExpression, ASTUnaryExpressionNotPlusMinus, ASTUnmodifiedClassDeclaration, ASTUnmodifiedInterfaceDeclaration, ASTVariableDeclarator, ASTVariableDeclaratorId, ASTVariableInitializer, ASTWhileStatement

public class SimpleNode
extends java.lang.Object
implements Node


Field Summary
private  int beginColumn
           
private  int beginLine
           
protected  Node[] children
           
private  int endColumn
           
private  int endLine
           
protected  int id
           
private  java.lang.String image
           
protected  Node parent
           
protected  JavaParser parser
           
private  Scope scope
           
 
Constructor Summary
SimpleNode(int i)
           
SimpleNode(JavaParser p, int i)
           
 
Method Summary
 java.lang.Object childrenAccept(JavaParserVisitor visitor, java.lang.Object data)
          Accept the visitor.
 void dump(java.lang.String prefix)
           
protected  void dumpChildren(java.lang.String prefix)
           
 java.util.List findChildrenOfType(java.lang.Class targetType)
           
 void findChildrenOfType(java.lang.Class targetType, java.util.List results)
           
 void findChildrenOfType(java.lang.Class targetType, java.util.List results, boolean descendIntoNestedClasses)
           
private  void findChildrenOfType(Node node, java.lang.Class targetType, java.util.List results, boolean descendIntoNestedClasses)
           
 int getBeginColumn()
           
 int getBeginLine()
           
 int getEndColumn()
           
 int getEndLine()
           
 Node getFirstParentOfType(java.lang.Class parentType)
          Traverses up the tree to find the first parent instance of type parentType
 java.lang.String getImage()
           
 java.util.List getParentsOfType(java.lang.Class parentType)
          Traverses up the tree to find all of the parent instances of type parentType
 Scope getScope()
           
 java.lang.Object jjtAccept(JavaParserVisitor visitor, java.lang.Object data)
          Accept the visitor.
 void jjtAddChild(Node n, int i)
          This method tells the node to add its argument to the node's list of children.
 void jjtClose()
          This method is called after all the child nodes have been added.
 Node jjtGetChild(int i)
          This method returns a child node.
 int jjtGetNumChildren()
          Return the number of children the node has.
 Node jjtGetParent()
           
 void jjtOpen()
          This method is called after the node has been made the current node.
 void jjtSetParent(Node n)
          This pair of methods are used to inform the node of its parent.
 void setImage(java.lang.String image)
           
 void setScope(Scope scope)
           
 void testingOnly__setBeginColumn(int i)
           
 void testingOnly__setBeginLine(int i)
           
 java.lang.String toString()
           
 java.lang.String toString(java.lang.String prefix)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parent

protected Node parent

children

protected Node[] children

id

protected int id

parser

protected JavaParser parser

image

private java.lang.String image

beginLine

private int beginLine

endLine

private int endLine

beginColumn

private int beginColumn

endColumn

private int endColumn

scope

private Scope scope
Constructor Detail

SimpleNode

public SimpleNode(int i)

SimpleNode

public SimpleNode(JavaParser p,
                  int i)
Method Detail

jjtOpen

public void jjtOpen()
Description copied from interface: Node
This method is called after the node has been made the current node. It indicates that child nodes can now be added to it.

Specified by:
jjtOpen in interface Node

jjtClose

public void jjtClose()
Description copied from interface: Node
This method is called after all the child nodes have been added.

Specified by:
jjtClose in interface Node

setScope

public void setScope(Scope scope)

getScope

public Scope getScope()

getBeginLine

public int getBeginLine()

testingOnly__setBeginLine

public void testingOnly__setBeginLine(int i)

testingOnly__setBeginColumn

public void testingOnly__setBeginColumn(int i)

getBeginColumn

public int getBeginColumn()

getImage

public java.lang.String getImage()

setImage

public void setImage(java.lang.String image)

getEndLine

public int getEndLine()

getEndColumn

public int getEndColumn()

getFirstParentOfType

public Node getFirstParentOfType(java.lang.Class parentType)
Traverses up the tree to find the first parent instance of type parentType

Parameters:
parentType - class which you want to find.
Returns:
Node of type parentType. Returns null if none found.

getParentsOfType

public java.util.List getParentsOfType(java.lang.Class parentType)
Traverses up the tree to find all of the parent instances of type parentType

Parameters:
parentType - classes which you want to find.
Returns:
List of parentType instances found.

findChildrenOfType

public java.util.List findChildrenOfType(java.lang.Class targetType)

findChildrenOfType

public void findChildrenOfType(java.lang.Class targetType,
                               java.util.List results)

findChildrenOfType

public void findChildrenOfType(java.lang.Class targetType,
                               java.util.List results,
                               boolean descendIntoNestedClasses)

findChildrenOfType

private void findChildrenOfType(Node node,
                                java.lang.Class targetType,
                                java.util.List results,
                                boolean descendIntoNestedClasses)

jjtSetParent

public void jjtSetParent(Node n)
Description copied from interface: Node
This pair of methods are used to inform the node of its parent.

Specified by:
jjtSetParent in interface Node

jjtGetParent

public Node jjtGetParent()
Specified by:
jjtGetParent in interface Node

jjtAddChild

public void jjtAddChild(Node n,
                        int i)
Description copied from interface: Node
This method tells the node to add its argument to the node's list of children.

Specified by:
jjtAddChild in interface Node

jjtGetChild

public Node jjtGetChild(int i)
Description copied from interface: Node
This method returns a child node. The children are numbered from zero, left to right.

Specified by:
jjtGetChild in interface Node
Parameters:
i - the child index. Must be nonnegative and less than Node.jjtGetNumChildren().

jjtGetNumChildren

public int jjtGetNumChildren()
Description copied from interface: Node
Return the number of children the node has.

Specified by:
jjtGetNumChildren in interface Node

jjtAccept

public java.lang.Object jjtAccept(JavaParserVisitor visitor,
                                  java.lang.Object data)
Accept the visitor.

Specified by:
jjtAccept in interface Node

childrenAccept

public java.lang.Object childrenAccept(JavaParserVisitor visitor,
                                       java.lang.Object data)
Accept the visitor.


toString

public java.lang.String toString()

toString

public java.lang.String toString(java.lang.String prefix)

dump

public void dump(java.lang.String prefix)

dumpChildren

protected void dumpChildren(java.lang.String prefix)