public class JifMethodDeclExt extends JifProcedureDeclExt_c
JifMethodDecl node.JifMethodDecl,
Serialized Form| Modifier and Type | Class and Description |
|---|---|
protected static class |
JifMethodDeclExt.CovariantLabelChecker
Checker to ensure that no covariant label occurs in the label
|
JifProcedureDeclExt_c.ConstraintVarianceLabelCheckerjif_verbose| Constructor and Description |
|---|
JifMethodDeclExt(ToJavaExt toJava) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkCovariance(JifMethodInstance mi,
LabelChecker lc)
This method checks that covariant labels are not used in contravariant
positions.
|
protected void |
initContextForBody(LabelChecker lc,
JifMethodInstance mi)
Set up context for checking the body.
|
polyglot.ast.Node |
labelCheck(LabelChecker lc)
Label check the node to which this extension is attached.
|
protected void |
overrideMethodLabelCheck(LabelChecker lc,
JifMethodInstance mi)
Check that this method instance
|
addCallers, addReturnConstraints, checkActsForAuthority, checkAutoEndorseConstrainPC, checkConstraintVariance, checkEnforceSignature, checkFormals, checkProviderAuthority, constrainAuth, constrainLabelEnvcheckAndRemoveThrowType, checkThrowTypes, copy, dump, getPathMap, init, 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, visitListpublic JifMethodDeclExt(ToJavaExt toJava)
public polyglot.ast.Node labelCheck(LabelChecker lc) throws polyglot.types.SemanticException
JifExtlabelCheck in interface JifExtlabelCheck in class JifExt_cpolyglot.types.SemanticExceptionprotected void initContextForBody(LabelChecker lc, JifMethodInstance mi)
protected void checkCovariance(JifMethodInstance mi, LabelChecker lc) throws SemanticDetailedException
SemanticDetailedExceptionprotected void overrideMethodLabelCheck(LabelChecker lc, JifMethodInstance mi) throws polyglot.types.SemanticException
polyglot.types.SemanticException