View Javadoc
1   /**
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd.lang.symboltable;
5   
6   
7   /**
8    * This is a declaration of a name, e.g. a variable or method name.
9    * See {@link AbstractNameDeclaration} for a base class.
10   */
11  public interface NameDeclaration {
12  
13      /**
14       * Gets the node which manifests the declaration.
15       * @return the node
16       */
17      ScopedNode getNode();
18  
19      /**
20       * Gets the image of the node. This is usually the name of the declaration
21       * such as the variable name.
22       * @return the image
23       * @see #getName()
24       */
25      String getImage();
26  
27      /**
28       * Gets the scope in which this name has been declared.
29       * @return the scope
30       */
31      Scope getScope();
32  
33      /**
34       * Gets the name of the declaration, such as the variable name.
35       * @return
36       */
37      String getName();
38  }