Package spoon.reflect.code
Interface CtCodeSnippetStatement
-
- All Superinterfaces:
Cloneable
,CtCodeElement
,CtCodeSnippet
,CtElement
,CtQueryable
,CtStatement
,CtVisitable
,FactoryAccessor
,Serializable
,SourcePositionHolder
- All Known Implementing Classes:
CtCodeSnippetStatementImpl
public interface CtCodeSnippetStatement extends CtStatement, CtCodeSnippet
This element is a code snippet that must represent a statement and can thus be inserted in the program's model as is. Code snippets should be avoided since no controls can be performed on them.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CtCodeSnippetStatement
clone()
Clone the element which calls this method in a new object.<S extends CtStatement>
Scompile()
Compiles this statement code snippet to produce the corresponding AST statement.-
Methods inherited from interface spoon.reflect.code.CtCodeElement
partiallyEvaluate
-
Methods inherited from interface spoon.reflect.declaration.CtCodeSnippet
getValue, setValue
-
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
-
-
-
-
Method Detail
-
compile
<S extends CtStatement> S compile() throws SnippetCompilationError
Compiles this statement code snippet to produce the corresponding AST statement. If you want to compile a non-void return or a snippet that uses a non-void return, use,SnippetCompilationHelper.compileStatement(CtCodeSnippetStatement, CtTypeReference)
- Returns:
- a statement
- Throws:
SnippetCompilationError
- when the current snippet is not valid Java code
-
clone
CtCodeSnippetStatement 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
-
-