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 }