Package spoon.support.reflect.code
Class CtExpressionImpl<T>
- java.lang.Object
-
- spoon.support.reflect.declaration.CtElementImpl
-
- spoon.support.reflect.code.CtCodeElementImpl
-
- spoon.support.reflect.code.CtExpressionImpl<T>
-
- All Implemented Interfaces:
Serializable
,Cloneable
,FactoryAccessor
,CtCodeElement
,CtExpression<T>
,SourcePositionHolder
,CtElement
,CtTypedElement<T>
,CtQueryable
,CtVisitable
,TemplateParameter<T>
- Direct Known Subclasses:
CtAnnotationImpl
,CtBinaryOperatorImpl
,CtCodeSnippetExpressionImpl
,CtConditionalImpl
,CtLambdaImpl
,CtLiteralImpl
,CtNewArrayImpl
,CtSwitchExpressionImpl
,CtTargetedExpressionImpl
,CtTypeAccessImpl
,CtTypePatternImpl
,CtUnaryOperatorImpl
,CtVariableAccessImpl
public abstract class CtExpressionImpl<T> extends CtCodeElementImpl implements CtExpression<T>
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class spoon.support.reflect.declaration.CtElementImpl
ERROR_MESSAGE_TO_STRING, factory, LOGGER, parent
-
-
Constructor Summary
Constructors Constructor Description CtExpressionImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <C extends CtExpression<T>>
CaddTypeCast(CtTypeReference<?> type)
Adds a type cast.CtExpression<T>
clone()
Clone the element which calls this method in a new object.CtTypeReference<T>
getType()
Gets this element's type.List<CtTypeReference<?>>
getTypeCasts()
Returns the type casts if any.T
S()
Gets the type of the template parameter.<C extends CtTypedElement>
CsetType(CtTypeReference<T> type)
Sets this element's type.<C extends CtExpression<T>>
CsetTypeCasts(List<CtTypeReference<?>> casts)
Sets the type casts.-
Methods inherited from class spoon.support.reflect.code.CtCodeElementImpl
partiallyEvaluate
-
Methods inherited from class spoon.support.reflect.declaration.CtElementImpl
addAnnotation, addComment, asIterable, comment, delete, descendantIterator, emptyList, emptySet, equals, filterChildren, getAllMetadata, getAnnotatedChildren, getAnnotation, getAnnotation, getAnnotations, getComments, getDirectChildren, getDocComment, getElements, getFactory, getMetadata, getMetadataKeys, getOriginalSourceFragment, getParent, getParent, getParent, getPath, getPosition, getReferencedTypes, getRoleInParent, getShortRepresentation, getValueByRole, hasAnnotation, hashCode, hasParent, isImplicit, isParentInitialized, map, map, prettyprint, putMetadata, removeAnnotation, removeComment, replace, replace, setAllMetadata, setAnnotations, setComments, setDocComment, setFactory, setImplicit, setParent, setPosition, setPositions, setValueByRole, toString, toStringDebug, unmodifiableList, updateAllParentsBelow
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface spoon.reflect.code.CtCodeElement
partiallyEvaluate
-
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, setComments, 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
-
getType
public CtTypeReference<T> getType()
Description copied from interface:CtTypedElement
Gets this element's type.- Specified by:
getType
in interfaceCtTypedElement<T>
-
getTypeCasts
public List<CtTypeReference<?>> getTypeCasts()
Description copied from interface:CtExpression
Returns the type casts if any.- Specified by:
getTypeCasts
in interfaceCtExpression<T>
-
setType
public <C extends CtTypedElement> C setType(CtTypeReference<T> type)
Description copied from interface:CtTypedElement
Sets this element's type.- Specified by:
setType
in interfaceCtTypedElement<T>
-
setTypeCasts
public <C extends CtExpression<T>> C setTypeCasts(List<CtTypeReference<?>> casts)
Description copied from interface:CtExpression
Sets the type casts.- Specified by:
setTypeCasts
in interfaceCtExpression<T>
-
addTypeCast
public <C extends CtExpression<T>> C addTypeCast(CtTypeReference<?> type)
Description copied from interface:CtExpression
Adds a type cast.- Specified by:
addTypeCast
in interfaceCtExpression<T>
-
S
public T S()
Description copied from interface:TemplateParameter
Gets the type of the template parameter. This methods has no runtime meaning (should return anull
reference) but is used as a marker in a template code.- Specified by:
S
in interfaceTemplateParameter<T>
-
clone
public CtExpression<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 interfaceCtCodeElement
- Specified by:
clone
in interfaceCtElement
- Specified by:
clone
in interfaceCtExpression<T>
- Overrides:
clone
in classCtCodeElementImpl
-
-