## net.sourceforge.pmd.symboltable
Class ScopeAndDeclarationFinder

    java.lang.Object
      net.sourceforge.pmd.ast.JavaParserVisitorAdapter
          net.sourceforge.pmd.symboltable.ScopeAndDeclarationFinder

All Implemented Interfaces:
  JavaParserVisitor

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.

Constructor Summary
`ScopeAndDeclarationFinder()`

Method Summary
`java.lang.Object` `visit(ASTBlock node, java.lang.Object data)`
`java.lang.Object` `visit(ASTCatchStatement node, java.lang.Object data)`
`java.lang.Object` `visit(ASTClassOrInterfaceBodyDeclaration node, java.lang.Object data)`
`java.lang.Object` `visit(ASTClassOrInterfaceDeclaration node, java.lang.Object data)`
`java.lang.Object` `visit(ASTCompilationUnit node, java.lang.Object data)`
`java.lang.Object` `visit(ASTConstructorDeclaration node, java.lang.Object data)`
`java.lang.Object` `visit(ASTEnumDeclaration node, java.lang.Object data)`
`java.lang.Object` `visit(ASTFinallyStatement node, java.lang.Object data)`
`java.lang.Object` `visit(ASTForStatement node, java.lang.Object data)`
`java.lang.Object` `visit(ASTIfStatement node, java.lang.Object data)`
`java.lang.Object` `visit(ASTMethodDeclaration node, java.lang.Object data)`
`java.lang.Object` `visit(ASTSwitchStatement node, java.lang.Object data)`
`java.lang.Object` `visit(ASTTryStatement node, java.lang.Object data)`
`java.lang.Object` `visit(ASTVariableDeclaratorId node, java.lang.Object data)`

Methods inherited from class net.sourceforge.pmd.ast.JavaParserVisitorAdapter

`visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ScopeAndDeclarationFinder

    public ScopeAndDeclarationFinder()

Method Detail

### visit

    public java.lang.Object visit(ASTCompilationUnit node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTClassOrInterfaceDeclaration node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTEnumDeclaration node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTClassOrInterfaceBodyDeclaration node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTBlock node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTCatchStatement node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTFinallyStatement node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTConstructorDeclaration node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTMethodDeclaration node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTTryStatement node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTForStatement node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTIfStatement node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTVariableDeclaratorId node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

### visit

    public java.lang.Object visit(ASTSwitchStatement node,
                                  java.lang.Object data)

  Specified by:
    `visit` in interface `JavaParserVisitor`
  Overrides:
    `visit` in class `JavaParserVisitorAdapter`

Copyright © 2002-2006 InfoEther. All Rights Reserved.