Package spoon.reflect.reference
Interface CtFieldReference<T>
- All Superinterfaces:
Cloneable
,CtElement
,CtQueryable
,CtReference
,CtVariableReference<T>
,CtVisitable
,FactoryAccessor
,Serializable
,SourcePositionHolder
- All Known Implementing Classes:
CtFieldReferenceImpl
This interface defines a reference to a
CtField
.-
Method Summary
Modifier and TypeMethodDescriptionclone()
Clone the element which calls this method in a new object.Gets the runtime member that corresponds to a field reference if any.Tries to get the declaration of the reference.Gets the type in which the field is declared.Returns theCtField
that corresponds to the reference even if its declaring type isn't in the Spoon source path (in this case, the Spoon elements are built with runtime reflection)Gets the qualified name of the field.boolean
isFinal()
Tells if the referenced field is final.boolean
isStatic()
Tells if the referenced field is static.<C extends CtFieldReference<T>>
CsetDeclaringType(CtTypeReference<?> declaringType)
Sets the type in which the field is declared.<C extends CtFieldReference<T>>
CsetFinal(boolean b)
Forces a reference to a final element.<C extends CtFieldReference<T>>
CsetStatic(boolean b)
Forces a reference to a static 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.reference.CtReference
getSimpleName, setComments, setSimpleName
Methods inherited from interface spoon.reflect.reference.CtVariableReference
getModifiers, getType, setType
Methods inherited from interface spoon.reflect.visitor.CtVisitable
accept
Methods inherited from interface spoon.processing.FactoryAccessor
getFactory, setFactory
-
Method Details
-
getActualField
Member getActualField()Gets the runtime member that corresponds to a field reference if any.- Returns:
- the member (null if not found)
-
getDeclaration
Description copied from interface:CtVariableReference
Tries to get the declaration of the reference.- Specified by:
getDeclaration
in interfaceCtReference
- Specified by:
getDeclaration
in interfaceCtVariableReference<T>
- Returns:
- referenced element or null if element is not in the source path (aka input resource).
-
getFieldDeclaration
Returns theCtField
that corresponds to the reference even if its declaring type isn't in the Spoon source path (in this case, the Spoon elements are built with runtime reflection)- Returns:
- the field declaration that corresponds to the reference.
-
getDeclaringType
CtTypeReference<?> getDeclaringType()Gets the type in which the field is declared. -
getQualifiedName
String getQualifiedName()Gets the qualified name of the field. -
isFinal
boolean isFinal()Tells if the referenced field is final. -
isStatic
boolean isStatic()Tells if the referenced field is static. -
setDeclaringType
Sets the type in which the field is declared. -
setFinal
Forces a reference to a final element. -
setStatic
Forces a reference to a static element. -
clone
CtFieldReference<T> 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.- Specified by:
clone
in interfaceCtElement
- Specified by:
clone
in interfaceCtReference
- Specified by:
clone
in interfaceCtVariableReference<T>
-