Interface CtReference

All Superinterfaces:
Cloneable, CtElement, CtQueryable, CtVisitable, FactoryAccessor, Serializable, SourcePositionHolder
All Known Subinterfaces:
CtArrayTypeReference<T>, CtCatchVariableReference<T>, CtExecutableReference<T>, CtFieldReference<T>, CtIntersectionTypeReference<T>, CtLocalVariableReference<T>, CtModuleReference, CtPackageReference, CtParameterReference<T>, CtTypeMemberWildcardImportReference, CtTypeParameterReference, CtTypeReference<T>, CtUnboundVariableReference<T>, CtVariableReference<T>, CtWildcardReference
All Known Implementing Classes:
CtArrayTypeReferenceImpl, CtCatchVariableReferenceImpl, CtExecutableReferenceImpl, CtFieldReferenceImpl, CtIntersectionTypeReferenceImpl, CtLocalVariableReferenceImpl, CtModuleReferenceImpl, CtPackageReferenceImpl, CtParameterReferenceImpl, CtReferenceImpl, CtTypeMemberWildcardImportReferenceImpl, CtTypeParameterReferenceImpl, CtTypeReferenceImpl, CtUnboundVariableReferenceImpl, CtVariableReferenceImpl, CtWildcardReferenceImpl

public interface CtReference extends CtElement
This is the root interface for named program element references, such as fields, types, variables, and so on. If a reference refers to an element in the shadow model, all introspection methods fall back to reflection where possible, but not all information might be available.
See Also:
CtElement
  • Method Details

    • getSimpleName

      String getSimpleName()
      Gets the simple name of referenced element.
    • setSimpleName

      <T extends CtReference> T setSimpleName(String simpleName)
      Sets the name of referenced element.
    • getDeclaration

      CtElement getDeclaration()
      Returns the declaration that corresponds to the referenced element only if the declaration is in the analyzed source files. It is strongly advised to use the more robust CtTypeReference.getTypeDeclaration() and CtExecutableReference.getExecutableDeclaration() that never return null.
      Returns:
      referenced element or null if element is not in the source path (aka input resource).
    • clone

      CtReference clone()
      Description copied from interface: CtElement
      Clone the element which calls this method in a new object. Note that that references are kept as is, and thus, so if you clone whole classes or methods, some parts of the cloned element (eg executable references) may still point to the initial element. In this case, consider using methods Refactoring.copyType(CtType) and Refactoring.copyMethod(CtMethod) instead which does additional work beyond cloning.
      Specified by:
      clone in interface CtElement
    • setComments

      <E extends CtElement> E setComments(List<CtComment> comments)
      comments are not possible for references
      Specified by:
      setComments in interface CtElement