polyglot.types
Interface Declaration

All Superinterfaces:
java.lang.Cloneable, Copy, java.io.Serializable, TypeObject
All Known Subinterfaces:
ClassType, CofferClassType, CofferConstructorInstance, CofferMethodInstance, CofferParsedClassType, CofferProcedureInstance, CofferSubstType, ConstructorInstance, FieldInstance, LocalInstance, MethodInstance, Package, ParsedClassType, ProcedureInstance, UnknownPackage, VarInstance
All Known Implementing Classes:
ClassType_c, CofferConstructorInstance_c, CofferMethodInstance_c, CofferParsedClassType_c, CofferSubstClassType_c, ConstructorInstance_c, FieldInstance_c, LocalInstance_c, MethodInstance_c, Package_c, PaoParsedClassType_c, ParsedClassType_c, ProcedureInstance_c, SubstClassType_c, UnknownPackage_c, VarInstance_c

public interface Declaration
extends TypeObject

A Declaration is a type object that has declarations and uses. Some instances may be uses of the declaration; these have references to the original declaration. For example, extensions may perform substitutions on the original declaration to produce the type object for a use of the declaration. To make it easy to create distinct uses by copying the original declaration object, copy() will preserve the pointer to the original declaration; it won't update it to point to the copy. A Declaration used as a declaration has a reference to itself.


Method Summary
 Declaration declaration()
          Get the original declaration.
 void setDeclaration(Declaration decl)
          Set the original declaration.
 
Methods inherited from interface polyglot.types.TypeObject
equalsImpl, isCanonical, position, typeSystem
 
Methods inherited from interface polyglot.util.Copy
copy
 

Method Detail

declaration

Declaration declaration()
Get the original declaration.


setDeclaration

void setDeclaration(Declaration decl)
Set the original declaration.