jif.extension
Class JifMethodDeclExt
java.lang.Object
polyglot.ast.Ext_c
jif.ast.Jif_c
jif.extension.JifProcedureDeclExt_c
jif.extension.JifMethodDeclExt
- All Implemented Interfaces:
- java.lang.Cloneable, Jif, JifProcedureDeclExt, polyglot.ast.Ext, polyglot.util.Copy
public class JifMethodDeclExt
- extends JifProcedureDeclExt_c
The Jif extension of the JifMethodDecl
node.
- See Also:
JifMethodDecl
Fields inherited from class polyglot.ast.Ext_c |
ext, node |
Methods inherited from class jif.ast.Jif_c |
checkAndRemoveThrowType, checkThrowTypes, copy, getPathMap, init, integerBoundsCalculated, toJava, toJava, updatePathMap, X, X |
Methods inherited from class polyglot.ast.Ext_c |
dump, ext, ext, node, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface polyglot.ast.Ext |
dump, ext, ext, init, node |
Methods inherited from interface polyglot.util.Copy |
copy |
JifMethodDeclExt
public JifMethodDeclExt(ToJavaExt toJava)
labelCheck
public polyglot.ast.Node labelCheck(LabelChecker lc)
throws polyglot.types.SemanticException
- Description copied from interface:
Jif
- Label check the node to which this extension is attached.
- Specified by:
labelCheck
in interface Jif
- Overrides:
labelCheck
in class Jif_c
- Throws:
polyglot.types.SemanticException
checkCovariance
protected void checkCovariance(JifMethodInstance mi,
LabelChecker lc)
throws SemanticDetailedException
- This method checks that covariant labels are not used in contravariant
positions.
- Throws:
SemanticDetailedException
overrideMethodLabelCheck
protected void overrideMethodLabelCheck(LabelChecker lc,
JifMethodInstance mi)
throws polyglot.types.SemanticException
- Check that this method instance conforms to the signatures of any
methods in the superclasses or interfaces that it is overriding.
In particular, argument labels and pc bounds are contravariant,
return labels, return value labels and labels on exception types are
covariant.
- Throws:
polyglot.types.SemanticException