|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.multijava.util.Utils
org.multijava.util.compiler.Phylum
org.multijava.mjc.JPhylum
org.multijava.mjc.JStatement
org.multijava.mjc.JLoopStatement
This abstract class is the superclass for all the classes representing loop statements in the AST.
| Field Summary | |
private CFlowControlContextType |
breakContextSummary
|
private boolean |
breaked
|
protected CFlowControlContextType |
continueContext
Tracks the flow control analysis information for all control paths that may exist the body of the loop via a continue statement. |
private CodeLabel |
contLabel
|
private CodeLabel |
endLabel
|
| Fields inherited from class org.multijava.mjc.JStatement |
|
| Fields inherited from class org.multijava.mjc.JPhylum |
EMPTY |
| Fields inherited from class org.multijava.util.compiler.Phylum |
|
| Fields inherited from class org.multijava.util.Utils |
DBG_LEVEL_HIGH, DBG_LEVEL_LOW, DBG_LEVEL_NO |
| Constructor Summary | |
JLoopStatement(TokenReference where,
JavaStyleComment[] comments)
Construct a node in the parsing tree |
|
| Method Summary | |
boolean |
acceptsBreak()
Returns true iff this statement is a possible target for a break statement. |
boolean |
acceptsContinue()
Returns true iff this statement is a possible target for a continue statement. |
void |
addBreak(CFlowControlContextType context)
Registers that there is a break statement within this loop. |
void |
addContinue(CFlowControlContextType context)
Registers that there is a continue statement within this loop. |
CFlowControlContextType |
getBreakContextSummary()
Returns a summary of all break context |
CodeLabel |
getBreakLabel()
Return the end of this block (for break statement) |
CodeLabel |
getContinueLabel()
Return the beginning of this block (for continue statement) |
boolean |
hasBreak()
Returns true if this loop statement may be broken |
| Methods inherited from class org.multijava.mjc.JStatement |
accept, fail, genCode, getComments, typecheck |
| Methods inherited from class org.multijava.mjc.JPhylum |
check, check, check, check, fail, fail, warn, warn, warn, warn |
| Methods inherited from class org.multijava.util.compiler.Phylum |
getTokenReference, setTokenReference |
| Methods inherited from class org.multijava.util.Utils |
assertTrue, assertTrue, combineArrays, escapeString, escapeString, fail, fail, getFilePath, hasFlag, hasOtherFlags, parsePathParts, relativePathTo, splitQualifiedName, splitQualifiedName, stripJavaModifiers, stripNonJavaModifiers, stripPrivateModifier, unescapeString, vectorToArray, vectorToIntArray |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private CFlowControlContextType breakContextSummary
private boolean breaked
private CodeLabel contLabel
private CodeLabel endLabel
protected CFlowControlContextType continueContext
| Constructor Detail |
public JLoopStatement(TokenReference where,
JavaStyleComment[] comments)
where - the line of this node in the source codecomments - the comments associated with this statement| Method Detail |
public boolean acceptsBreak()
acceptsBreak in class JStatementpublic boolean acceptsContinue()
acceptsContinue in class JStatementpublic void addBreak(CFlowControlContextType context)
addBreak in class JStatementpublic void addContinue(CFlowControlContextType context)
addContinue in class JStatementpublic boolean hasBreak()
public CFlowControlContextType getBreakContextSummary()
public CodeLabel getBreakLabel()
getBreakLabel in class JStatementpublic CodeLabel getContinueLabel()
getContinueLabel in class JStatement
|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||