public class LabeledStatement extends JavaStatement implements StatementContainer, NamedProgramElement, ProgramPrefix
Modifier and Type | Field and Description |
---|---|
protected Statement |
body
Body.
|
private PosInProgram |
firstActiveChildPos |
private MethodFrame |
innerMostMethodFrame |
protected Label |
name
Name.
|
private int |
prefixLength |
Constructor and Description |
---|
LabeledStatement(ExtList children,
Label label,
PositionInfo pos)
Constructor for the transformation of COMPOST ASTs to KeY.
|
LabeledStatement(Label name)
Labeled statement.
|
LabeledStatement(Label id,
Statement statement,
PositionInfo pos)
Labeled statement.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equalsModRenaming(SourceElement se,
NameAbstractionTable nat)
testing if programelements are equal modulo renaming abstract
from names.
|
Statement |
getBody()
Get body.
|
ProgramElement |
getChildAt(int index)
Returns the child at the specified index in this node's "virtual"
child array
|
int |
getChildCount()
Returns the number of children of this node.
|
PosInProgram |
getFirstActiveChildPos()
returns the position of the first active child
|
SourceElement |
getFirstElement()
Finds the source element that occurs first in the source.
|
SourceElement |
getFirstElementIncludingBlocks()
Finds the source element that occurs first in the source.
|
MethodFrame |
getInnerMostMethodFrame()
returns the inner most
MethodFrame |
Label |
getLabel()
Get identifier.
|
SourceElement |
getLastElement()
Finds the source element that occurs last in the source.
|
ProgramPrefix |
getLastPrefixElement()
return the last prefix element
|
java.lang.String |
getName()
Get name.
|
ProgramPrefix |
getNextPrefixElement()
return the next prefix element
if no next prefix element is available an IndexOutOfBoundsException is thrown
|
ImmutableArray<ProgramPrefix> |
getPrefixElements()
returns an array with all prefix elements starting at
this element
|
int |
getPrefixLength()
returns the length of the prefix
|
ProgramElementName |
getProgramElementName()
Get identifier.
|
Statement |
getStatementAt(int index)
Return the statement at the specified index in this node's
"virtual" statement array.
|
int |
getStatementCount()
Get the number of statements in this container.
|
boolean |
hasNextPrefixElement()
return true if there is a next prefix element
|
void |
prettyPrint(PrettyPrinter p)
Pretty printing the source element.
|
void |
visit(Visitor v)
calls the corresponding method of a visitor in order to
perform some action/transformation on this element
|
compatibleBlockSize, computeHashCode, equals, getArrayPos, match, matchChildren
getComments, hashCode, prettyPrintMain, reuseSignature
getEndPosition, getParentClass, getPositionInfo, getRelativePosition, getStartPosition, setParentClass, toSource, toString, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getComments, match
getEndPosition, getPositionInfo, getRelativePosition, getStartPosition
protected final Label name
protected final Statement body
private final PosInProgram firstActiveChildPos
private final int prefixLength
private final MethodFrame innerMostMethodFrame
public LabeledStatement(ExtList children, Label label, PositionInfo pos)
children
- the children of this AST element as KeY classes.
May contain: a Label (as name of the label)
a Statement (as body of the labeled statement)
Commentspublic LabeledStatement(Label name)
name
- an identifier.public LabeledStatement(Label id, Statement statement, PositionInfo pos)
id
- a Label.statement
- a statement.public boolean hasNextPrefixElement()
ProgramPrefix
hasNextPrefixElement
in interface ProgramPrefix
public ProgramPrefix getNextPrefixElement()
ProgramPrefix
getNextPrefixElement
in interface ProgramPrefix
public ProgramPrefix getLastPrefixElement()
ProgramPrefix
getLastPrefixElement
in interface ProgramPrefix
public ImmutableArray<ProgramPrefix> getPrefixElements()
ProgramPrefix
getPrefixElements
in interface ProgramPrefix
public SourceElement getFirstElement()
JavaSourceElement
getFirstElement
in interface SourceElement
getFirstElement
in class JavaSourceElement
JavaSourceElement.toSource()
,
JavaSourceElement.getStartPosition()
public SourceElement getFirstElementIncludingBlocks()
SourceElement
getFirstElementIncludingBlocks
in interface SourceElement
getFirstElementIncludingBlocks
in class JavaSourceElement
SourceElement.getStartPosition()
public SourceElement getLastElement()
JavaSourceElement
getLastElement
in interface SourceElement
getLastElement
in class JavaSourceElement
JavaSourceElement.toSource()
,
JavaSourceElement.getEndPosition()
public final java.lang.String getName()
getName
in interface NamedModelElement
public Label getLabel()
public ProgramElementName getProgramElementName()
getProgramElementName
in interface NamedProgramElement
public Statement getBody()
public int getChildCount()
getChildCount
in interface NonTerminalProgramElement
public ProgramElement getChildAt(int index)
getChildAt
in interface NonTerminalProgramElement
index
- an index into this node's "virtual" child arrayjava.lang.ArrayIndexOutOfBoundsException
- if index is out
of boundspublic int getStatementCount()
getStatementCount
in interface StatementContainer
public Statement getStatementAt(int index)
getStatementAt
in interface StatementContainer
index
- an index for a statement.java.lang.ArrayIndexOutOfBoundsException
- if index is out
of bounds.public void visit(Visitor v)
visit
in interface SourceElement
v
- the Visitorpublic void prettyPrint(PrettyPrinter p) throws java.io.IOException
JavaSourceElement
prettyPrint
in interface SourceElement
prettyPrint
in class JavaProgramElement
p
- a pretty printer.java.io.IOException
- occasionally thrown.public boolean equalsModRenaming(SourceElement se, NameAbstractionTable nat)
equalsModRenaming
in interface SourceElement
equalsModRenaming
in class JavaNonTerminalProgramElement
public PosInProgram getFirstActiveChildPos()
ProgramPrefix
getFirstActiveChildPos
in interface ProgramPrefix
public int getPrefixLength()
ProgramPrefix
getPrefixLength
in interface ProgramPrefix
public MethodFrame getInnerMostMethodFrame()
ProgramPrefix
MethodFrame
getInnerMostMethodFrame
in interface ProgramPrefix