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 }