Package spoon.reflect.code
Interface CtTry
- All Superinterfaces:
Cloneable
,CtBodyHolder
,CtCodeElement
,CtElement
,CtQueryable
,CtStatement
,CtVisitable
,FactoryAccessor
,Serializable
,SourcePositionHolder
,TemplateParameter<Void>
- All Known Subinterfaces:
CtTryWithResource
- All Known Implementing Classes:
CtTryImpl
,CtTryWithResourceImpl
This code element defines a
try
statement.
Example:
try { System.out.println("foo"); } catch (Exception ignore) {}
-
Method Summary
Modifier and TypeMethodDescription<T extends CtTry>
TaddCatcher(CtCatch catcher)
Adds a catch block.addCatcherAt(int position, CtCatch catcher)
Adds a catch block at the specified position in thetry
statement.clone()
Clone the element which calls this method in a new object.CtBlock<?>
getBody()
Gets the try body.Gets the catchers of thistry
.CtBlock<?>
Gets the finalizer block of thistry
(finally
part).boolean
removeCatcher(CtCatch catcher)
Removes a catch block.<T extends CtTry>
TsetCatchers(List<CtCatch> catchers)
Sets the catchers of thistry
.<T extends CtTry>
TsetFinalizer(CtBlock<?> finalizer)
Sets the finalizer block of thistry
(finally
part).Methods inherited from interface spoon.reflect.code.CtBodyHolder
setBody
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.reflect.visitor.CtVisitable
accept
Methods inherited from interface spoon.processing.FactoryAccessor
getFactory, setFactory
Methods inherited from interface spoon.template.TemplateParameter
S
-
Method Details
-
getCatchers
Gets the catchers of thistry
. -
setCatchers
Sets the catchers of thistry
. -
addCatcher
Adds a catch block. -
addCatcherAt
Adds a catch block at the specified position in thetry
statement. Behaves similarly toList.add(int, Object)
.- Parameters:
position
- the position at which thecatcher
is to be insertedcatcher
- the catch statement to be inserted- Returns:
- this try statement
- Throws:
IndexOutOfBoundsException
- if the position is out of range (position < 0 || position > number of catchers)
-
removeCatcher
Removes a catch block. -
getBody
CtBlock<?> getBody()Gets the try body.- Specified by:
getBody
in interfaceCtBodyHolder
-
getFinalizer
CtBlock<?> getFinalizer()Gets the finalizer block of thistry
(finally
part). -
setFinalizer
Sets the finalizer block of thistry
(finally
part). -
clone
CtTry 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 interfaceCtStatement
-