public class JifMethodDeclExt extends JifProcedureDeclExt_c
JifMethodDecl
node.JifMethodDecl
,
Serialized FormModifier and Type | Class and Description |
---|---|
protected static class |
JifMethodDeclExt.CovariantLabelChecker
Checker to ensure that no covariant label occurs in the label
|
JifProcedureDeclExt_c.ConstraintVarianceLabelChecker
jif_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, constrainLabelEnv
checkAndRemoveThrowType, checkThrowTypes, copy, dump, getPathMap, init, 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 JifMethodDeclExt(ToJavaExt toJava)
public polyglot.ast.Node labelCheck(LabelChecker lc) throws polyglot.types.SemanticException
JifExt
labelCheck
in interface JifExt
labelCheck
in class JifExt_c
polyglot.types.SemanticException
protected void initContextForBody(LabelChecker lc, JifMethodInstance mi)
protected void checkCovariance(JifMethodInstance mi, LabelChecker lc) throws SemanticDetailedException
SemanticDetailedException
protected void overrideMethodLabelCheck(LabelChecker lc, JifMethodInstance mi) throws polyglot.types.SemanticException
polyglot.types.SemanticException