Package spoon.reflect.reference
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. References can point to program element built in the model or not. In the latter case, introspection methods fall back on runtime reflection (java.lang.reflect
) to access the program information, as long as available in the classpath.- See Also:
CtElement
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CtReference
clone()
Clone the element which calls this method in a new object.CtElement
getDeclaration()
Returns the declaration that corresponds to the referenced element only if the declaration is in the analyzed source files.String
getSimpleName()
Gets the simple name of referenced element.<E extends CtElement>
EsetComments(List<CtComment> comments)
comments are not possible for references<T extends CtReference>
TsetSimpleName(String simpleName)
Sets the name of referenced element.-
Methods inherited from interface spoon.reflect.declaration.CtElement
addAnnotation, addComment, asIterable, delete, descendantIterator, getAllMetadata, getAnnotatedChildren, getAnnotation, getAnnotation, getAnnotations, getComments, getDirectChildren, getDocComment, getElements, getMetadata, getMetadataKeys, getOriginalSourceFragment, getParent, getParent, getParent, getPath, getPosition, getReferencedTypes, getRoleInParent, getShortRepresentation, getValueByRole, hasAnnotation, hasParent, isImplicit, isParentInitialized, prettyprint, putMetadata, removeAnnotation, removeComment, replace, replace, setAllMetadata, setAnnotations, setDocComment, setImplicit, setParent, setPosition, setPositions, setValueByRole, toString, toStringDebug, updateAllParentsBelow
-
Methods inherited from interface spoon.reflect.visitor.chain.CtQueryable
filterChildren, map, map
-
Methods inherited from interface spoon.reflect.visitor.CtVisitable
accept
-
Methods inherited from interface spoon.processing.FactoryAccessor
getFactory, setFactory
-
-
-
-
Method Detail
-
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 robustCtTypeReference.getTypeDeclaration()
andCtExecutableReference.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 methodsRefactoring.copyType(CtType)
andRefactoring.copyMethod(CtMethod)
instead which does additional work beyond cloning.
-
setComments
<E extends CtElement> E setComments(List<CtComment> comments)
comments are not possible for references- Specified by:
setComments
in interfaceCtElement
-
-