Package spoon.support.reflect.code
Class CtIfImpl
java.lang.Object
spoon.support.reflect.declaration.CtElementImpl
spoon.support.reflect.code.CtCodeElementImpl
spoon.support.reflect.code.CtStatementImpl
spoon.support.reflect.code.CtIfImpl
- All Implemented Interfaces:
Serializable
,Cloneable
,FactoryAccessor
,CtCodeElement
,CtIf
,CtStatement
,SourcePositionHolder
,CtElement
,CtQueryable
,CtVisitable
,TemplateParameter<Void>
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class spoon.support.reflect.declaration.CtElementImpl
ERROR_MESSAGE_TO_STRING, factory, LOGGER, parent
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Accepts a visitorclone()
Clone the element which calls this method in a new object.Gets the boolean expression that represents theif
's condition.<S extends CtStatement>
SGets the statement executed when the condition is false.getSubstitution(CtType<?> targetType)
<S extends CtStatement>
SGets the statement executed when the condition is true.S()
Gets the type of the template parameter.<T extends CtIf>
TsetCondition(CtExpression<Boolean> condition)
Sets the boolean expression that represents theif
's condition.<T extends CtIf>
TsetElseStatement(CtStatement elseStatement)
Sets the statement executed when the condition is false.<T extends CtIf>
TsetThenStatement(CtStatement thenStatement)
Sets the statement executed when the condition is true.Methods inherited from class spoon.support.reflect.code.CtStatementImpl
getLabel, insertAfter, insertAfter, insertAfter, insertAfter, insertBefore, insertBefore, insertBefore, insertBefore, setLabel
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.code.CtStatement
comment, getLabel, insertAfter, insertAfter, insertBefore, insertBefore, setLabel
Methods inherited from interface spoon.processing.FactoryAccessor
getFactory, setFactory
-
Constructor Details
-
CtIfImpl
public CtIfImpl()
-
-
Method Details
-
accept
Description copied from interface:CtVisitable
Accepts a visitor- Specified by:
accept
in interfaceCtVisitable
-
getCondition
Description copied from interface:CtIf
Gets the boolean expression that represents theif
's condition.- Specified by:
getCondition
in interfaceCtIf
-
getElseStatement
Description copied from interface:CtIf
Gets the statement executed when the condition is false.An
else if
likeif (a) { doA(); } else if (b) { doB(); } else { doC(); }
will be represented asif (a) { doA(); } else { if (b) { doB(); } else { doC(); } }
To differentiate between anelse
Block with anif
and anelse if
,CtElement.isImplicit()
is set totrue
.- Specified by:
getElseStatement
in interfaceCtIf
- Returns:
- the statement of the
else
ornull
if no else is specified.
-
getThenStatement
Description copied from interface:CtIf
Gets the statement executed when the condition is true.This method will return
null
forif (condition);
.- Specified by:
getThenStatement
in interfaceCtIf
- Returns:
- the statement of the
if
, in most cases this is aCtBlock
.
-
setCondition
Description copied from interface:CtIf
Sets the boolean expression that represents theif
's condition.- Specified by:
setCondition
in interfaceCtIf
-
setElseStatement
Description copied from interface:CtIf
Sets the statement executed when the condition is false.- Specified by:
setElseStatement
in interfaceCtIf
-
setThenStatement
Description copied from interface:CtIf
Sets the statement executed when the condition is true.- Specified by:
setThenStatement
in interfaceCtIf
-
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 interfaceCtIf
- Specified by:
clone
in interfaceCtStatement
- Overrides:
clone
in classCtStatementImpl
-
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<Void>
-
getSubstitution
-