net.sourceforge.pmd.symboltable

Class ScopeAndDeclarationFinder

public class ScopeAndDeclarationFinder extends JavaParserVisitorAdapter

Visitor for scope creation. Visits all nodes of an AST and creates scope objects for nodes representing syntactic entities which may contain declarations. For example, a block may contain variable definitions (which are declarations) and therefore needs a scope object where these declarations can be associated, whereas an expression can't contain declarations and therefore doesn't need a scope object. With the exception of global scopes, each scope object is linked to its parent scope, which is the scope object of the next embedding syntactic entity that has a scope.
Method Summary
Objectvisit(ASTCompilationUnit node, Object data)
Objectvisit(ASTClassOrInterfaceDeclaration node, Object data)
Objectvisit(ASTEnumDeclaration node, Object data)
Objectvisit(ASTClassOrInterfaceBodyDeclaration node, Object data)
Objectvisit(ASTBlock node, Object data)
Objectvisit(ASTCatchStatement node, Object data)
Objectvisit(ASTFinallyStatement node, Object data)
Objectvisit(ASTConstructorDeclaration node, Object data)
Objectvisit(ASTMethodDeclaration node, Object data)
Objectvisit(ASTTryStatement node, Object data)
Objectvisit(ASTForStatement node, Object data)
Objectvisit(ASTIfStatement node, Object data)
Objectvisit(ASTVariableDeclaratorId node, Object data)
Objectvisit(ASTSwitchStatement node, Object data)

Method Detail

visit

public Object visit(ASTCompilationUnit node, Object data)

visit

public Object visit(ASTClassOrInterfaceDeclaration node, Object data)

visit

public Object visit(ASTEnumDeclaration node, Object data)

visit

public Object visit(ASTClassOrInterfaceBodyDeclaration node, Object data)

visit

public Object visit(ASTBlock node, Object data)

visit

public Object visit(ASTCatchStatement node, Object data)

visit

public Object visit(ASTFinallyStatement node, Object data)

visit

public Object visit(ASTConstructorDeclaration node, Object data)

visit

public Object visit(ASTMethodDeclaration node, Object data)

visit

public Object visit(ASTTryStatement node, Object data)

visit

public Object visit(ASTForStatement node, Object data)

visit

public Object visit(ASTIfStatement node, Object data)

visit

public Object visit(ASTVariableDeclaratorId node, Object data)

visit

public Object visit(ASTSwitchStatement node, Object data)