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.
Nested Class Summary
Nested classes/interfaces inherited from interface polyglot.util.Copy