public class JifForExt extends JifStmtExt_c
For
node.For
,
Serialized FormstmtDel
Modifier and Type | Method and Description |
---|---|
protected PathMap |
checkInits(LabelChecker lc,
JifContext A,
polyglot.ast.For fs,
java.util.List<polyglot.ast.ForInit> newInits)
Splitting out checking of inits and checking of the loop to make it
easier to extend.
|
polyglot.ast.Node |
checkLoop(LabelChecker lc,
JifContext A,
polyglot.ast.For fs,
java.util.List<polyglot.ast.ForInit> inits,
PathMap Xinit)
Utility for easier overriding of loop checking.
|
polyglot.ast.Node |
labelCheckStmt(LabelChecker lc) |
protected void |
updateContextForBody(LabelChecker lc,
JifContext A,
PathMap Xcond)
Utility method for updating the context for checking the body in the for
loop.
|
protected void |
updateContextForNextInit(LabelChecker lc,
JifContext A,
PathMap Xprev)
Utility method for updating the context for checking the next init
statement in the for loop.
|
protected void |
updateContextForNextIter(LabelChecker lc,
JifContext A,
PathMap Xprev)
Utility method for updating the context for checking the next iter
statement in the for loop.
|
copy, init, labelCheck, stmtDel, stmtDel
checkAndRemoveThrowType, checkThrowTypes, dump, getPathMap, integerBoundsCalculated, toJava, toJava, updatePathMap, X, X
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, ext, ext, extRewrite, extRewriteEnter, extRewriteOverride, initPred, lang, node, pred, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, print, printBlock, printSubStmt, superLang, throwTypes, toString, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, extRewriteOverride, lang, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList
public JifForExt(ToJavaExt toJava)
public polyglot.ast.Node labelCheckStmt(LabelChecker lc) throws polyglot.types.SemanticException
labelCheckStmt
in interface JifStmtExt
labelCheckStmt
in class JifStmtExt_c
polyglot.types.SemanticException
public polyglot.ast.Node checkLoop(LabelChecker lc, JifContext A, polyglot.ast.For fs, java.util.List<polyglot.ast.ForInit> inits, PathMap Xinit) throws polyglot.types.SemanticException
polyglot.types.SemanticException
protected PathMap checkInits(LabelChecker lc, JifContext A, polyglot.ast.For fs, java.util.List<polyglot.ast.ForInit> newInits) throws polyglot.types.SemanticException
polyglot.types.SemanticException
protected void updateContextForNextInit(LabelChecker lc, JifContext A, PathMap Xprev)
protected void updateContextForBody(LabelChecker lc, JifContext A, PathMap Xcond)
protected void updateContextForNextIter(LabelChecker lc, JifContext A, PathMap Xprev)