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, XaddDecls, 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, visitListclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddDecls, 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, visitListprotected JifStmtExt stmtDel
public JifStmtExt_c(JifStmtExt stmtDel, ToJavaExt toJava)
public JifStmtExt_c(ToJavaExt toJava)
public JifStmtExt stmtDel()
stmtDel in interface JifStmtExtpublic void init(polyglot.ast.Node node)
public JifStmtExt copy()
public JifStmtExt stmtDel(JifStmtExt stmtDel)
stmtDel in interface JifStmtExtpublic abstract polyglot.ast.Node labelCheckStmt(LabelChecker lc) throws polyglot.types.SemanticException
labelCheckStmt in interface JifStmtExtpolyglot.types.SemanticExceptionpublic 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 JifExtlabelCheck in class JifExt_cpolyglot.types.SemanticException