1 package polyglot.types; 2 3 /** 4 * A <code>Named</code> is a TypeObject that is named. 5 */ 6 public interface Named extends TypeObject 7 { 8 /** 9 * Simple name of the type object. Anonymous classes do not have names. 10 */ 11 String name(); 12 13 /** 14 * Full dotted-name of the type object. For a package, top level class, 15 * top level interface, or primitive type, this is 16 * the fully qualified name. For a member class or interface that is 17 * directly enclosed in a class or interface with a fully qualified name, 18 * then this is the fully qualified name of the member class or interface. 19 * For local and anonymous classes, this method returns a string that is 20 * not the fully qualified name (as these classes do not have fully 21 * qualified names), but that may be suitable for debugging or error 22 * messages. 23 */ 24 String fullName(); 25 } 26