public abstract class JifStmtExt_c extends JifExt_c implements JifStmtExt
Modifier and Type | Field and Description |
---|---|
protected JifStmtExt |
stmtDel |
Constructor and Description |
---|
JifStmtExt_c(JifStmtExt stmtDel,
ToJavaExt toJava) |
JifStmtExt_c(ToJavaExt toJava) |
Modifier and Type | Method and Description |
---|---|
JifStmtExt |
copy() |
void |
init(polyglot.ast.Node node) |
polyglot.ast.Node |
labelCheck(LabelChecker lc)
Label check a statement.
|
abstract polyglot.ast.Node |
labelCheckStmt(LabelChecker lc) |
JifStmtExt |
stmtDel() |
JifStmtExt |
stmtDel(JifStmtExt 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
protected JifStmtExt stmtDel
public JifStmtExt_c(JifStmtExt stmtDel, ToJavaExt toJava)
public JifStmtExt_c(ToJavaExt toJava)
public JifStmtExt stmtDel()
stmtDel
in interface JifStmtExt
public void init(polyglot.ast.Node node)
public JifStmtExt copy()
public JifStmtExt stmtDel(JifStmtExt stmtDel)
stmtDel
in interface JifStmtExt
public abstract polyglot.ast.Node labelCheckStmt(LabelChecker lc) throws polyglot.types.SemanticException
labelCheckStmt
in interface JifStmtExt
polyglot.types.SemanticException
public polyglot.ast.Node labelCheck(LabelChecker lc) throws polyglot.types.SemanticException
labelCheckStmt
statement,
this method will apply the "single path rule" (Figure 4.15):
If the path map contains only one path and it is "N" or "R",
then the PC label at the end is the same as at the beginning,
so just set the path map to use the PC label.labelCheck
in interface JifExt
labelCheck
in class JifExt_c
polyglot.types.SemanticException