Package spoon.support.reflect.code
Class CtBlockImpl<R>
- java.lang.Object
-
- spoon.support.reflect.declaration.CtElementImpl
-
- spoon.support.reflect.code.CtCodeElementImpl
-
- spoon.support.reflect.code.CtStatementImpl
-
- spoon.support.reflect.code.CtBlockImpl<R>
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<CtStatement>
,FactoryAccessor
,CtBlock<R>
,CtCodeElement
,CtStatement
,CtStatementList
,SourcePositionHolder
,CtElement
,CtQueryable
,CtVisitable
,TemplateParameter<R>
public class CtBlockImpl<R> extends CtStatementImpl implements CtBlock<R>
- 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 CtBlockImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(CtVisitor visitor)
Accepts a visitor<T extends CtStatementList>
TaddStatement(int index, CtStatement statement)
Inserts the given statement at a specific position in the list of statements Shifts the statement currently at that position (if any) and any subsequent statements to the right (adds one to their indices).<T extends CtStatementList>
TaddStatement(CtStatement statement)
Adds a statement at the end of the list.CtBlock<R>
clone()
Clone the element which calls this method in a new object.void
comment()
Replace the statement with a CtComment having the statement as text<T extends CtStatement>
TgetLastStatement()
Gets the last statement of this block.<T extends CtStatement>
TgetStatement(int i)
Gets the ith statement of this block.List<CtStatement>
getStatements()
Returns the statement list.<T extends CtStatementList>
TinsertAfter(Filter<? extends CtStatement> insertionPoints, CtStatement statement)
Inserts the given statement after a set of insertion points given by a filter.<T extends CtStatementList>
TinsertAfter(Filter<? extends CtStatement> insertionPoints, CtStatementList statements)
Inserts the given statement list after a set of insertion points given by a filter.<T extends CtStatementList>
TinsertBefore(Filter<? extends CtStatement> insertionPoints, CtStatement statement)
Inserts the given statement before a set of insertion points given by a filter.<T extends CtStatementList>
TinsertBefore(Filter<? extends CtStatement> insertionPoints, CtStatementList statements)
Inserts the given statement list before a set of insertion points given by a filter.<T extends CtStatementList>
TinsertBegin(CtStatement statement)
Inserts the given statement at the beginning of the block.<T extends CtStatementList>
TinsertBegin(CtStatementList statements)
Inserts the given statement list at the beginning of the block.<T extends CtStatementList>
TinsertEnd(CtStatement statement)
Inserts the given statement at the end of the block.<T extends CtStatementList>
TinsertEnd(CtStatementList statements)
Inserts the given statements at the end of the block.Iterator<CtStatement>
iterator()
void
removeStatement(CtStatement statement)
Removes a statement.R
S()
Gets the type of the template parameter.<T extends CtStatementList>
TsetStatements(List<CtStatement> statements)
Sets the statement list.-
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, 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
getLabel, insertAfter, insertAfter, insertBefore, insertBefore, setLabel
-
Methods inherited from interface spoon.processing.FactoryAccessor
getFactory, setFactory
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
accept
public void accept(CtVisitor visitor)
Description copied from interface:CtVisitable
Accepts a visitor- Specified by:
accept
in interfaceCtVisitable
-
getStatements
public List<CtStatement> getStatements()
Description copied from interface:CtStatementList
Returns the statement list.- Specified by:
getStatements
in interfaceCtStatementList
-
getStatement
public <T extends CtStatement> T getStatement(int i)
Description copied from interface:CtStatementList
Gets the ith statement of this block.- Specified by:
getStatement
in interfaceCtStatementList
-
getLastStatement
public <T extends CtStatement> T getLastStatement()
Description copied from interface:CtStatementList
Gets the last statement of this block.- Specified by:
getLastStatement
in interfaceCtStatementList
-
insertBegin
public <T extends CtStatementList> T insertBegin(CtStatementList statements)
Description copied from interface:CtStatementList
Inserts the given statement list at the beginning of the block.- Specified by:
insertBegin
in interfaceCtStatementList
-
insertBegin
public <T extends CtStatementList> T insertBegin(CtStatement statement)
Description copied from interface:CtStatementList
Inserts the given statement at the beginning of the block.- Specified by:
insertBegin
in interfaceCtStatementList
-
insertEnd
public <T extends CtStatementList> T insertEnd(CtStatement statement)
Description copied from interface:CtStatementList
Inserts the given statement at the end of the block.- Specified by:
insertEnd
in interfaceCtStatementList
-
insertEnd
public <T extends CtStatementList> T insertEnd(CtStatementList statements)
Description copied from interface:CtStatementList
Inserts the given statements at the end of the block.- Specified by:
insertEnd
in interfaceCtStatementList
-
insertAfter
public <T extends CtStatementList> T insertAfter(Filter<? extends CtStatement> insertionPoints, CtStatement statement)
Description copied from interface:CtStatementList
Inserts the given statement after a set of insertion points given by a filter.- Specified by:
insertAfter
in interfaceCtStatementList
-
insertAfter
public <T extends CtStatementList> T insertAfter(Filter<? extends CtStatement> insertionPoints, CtStatementList statements)
Description copied from interface:CtStatementList
Inserts the given statement list after a set of insertion points given by a filter.- Specified by:
insertAfter
in interfaceCtStatementList
-
insertBefore
public <T extends CtStatementList> T insertBefore(Filter<? extends CtStatement> insertionPoints, CtStatement statement)
Description copied from interface:CtStatementList
Inserts the given statement before a set of insertion points given by a filter.- Specified by:
insertBefore
in interfaceCtStatementList
-
insertBefore
public <T extends CtStatementList> T insertBefore(Filter<? extends CtStatement> insertionPoints, CtStatementList statements)
Description copied from interface:CtStatementList
Inserts the given statement list before a set of insertion points given by a filter.- Specified by:
insertBefore
in interfaceCtStatementList
-
setStatements
public <T extends CtStatementList> T setStatements(List<CtStatement> statements)
Description copied from interface:CtStatementList
Sets the statement list.- Specified by:
setStatements
in interfaceCtStatementList
-
addStatement
public <T extends CtStatementList> T addStatement(CtStatement statement)
Description copied from interface:CtStatementList
Adds a statement at the end of the list.- Specified by:
addStatement
in interfaceCtStatementList
-
addStatement
public <T extends CtStatementList> T addStatement(int index, CtStatement statement)
Description copied from interface:CtStatementList
Inserts the given statement at a specific position in the list of statements Shifts the statement currently at that position (if any) and any subsequent statements to the right (adds one to their indices).- Specified by:
addStatement
in interfaceCtStatementList
-
removeStatement
public void removeStatement(CtStatement statement)
Description copied from interface:CtStatementList
Removes a statement.- Specified by:
removeStatement
in interfaceCtStatementList
-
iterator
public Iterator<CtStatement> iterator()
-
S
public R 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<R>
-
clone
public CtBlock<R> 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 interfaceCtBlock<R>
- Specified by:
clone
in interfaceCtCodeElement
- Specified by:
clone
in interfaceCtElement
- Specified by:
clone
in interfaceCtStatement
- Specified by:
clone
in interfaceCtStatementList
- Overrides:
clone
in classCtStatementImpl
-
comment
public void comment()
Description copied from class:CtElementImpl
Replace the statement with a CtComment having the statement as text- Specified by:
comment
in interfaceCtBlock<R>
- Specified by:
comment
in interfaceCtStatement
- Overrides:
comment
in classCtElementImpl
-
-