jif.extension
Class JifFieldExt
java.lang.Object
polyglot.ast.Ext_c
jif.ast.Jif_c
jif.extension.JifExprExt
jif.extension.JifFieldExt
- All Implemented Interfaces:
- java.lang.Cloneable, Jif, polyglot.ast.Ext, polyglot.util.Copy
public class JifFieldExt
- extends JifExprExt
The Jif extension of the Field
node.
- See Also:
Field
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, node |
JifFieldExt
public JifFieldExt(ToJavaExt toJava)
labelCheckIncrement
public polyglot.ast.Node labelCheckIncrement(LabelChecker lc)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
labelCheck
public polyglot.ast.Node labelCheck(LabelChecker lc)
throws polyglot.types.SemanticException
- label check the field access.
Refer to Andrew's thesis, Figure 4.18
- Specified by:
labelCheck
in interface Jif
- Overrides:
labelCheck
in class Jif_c
- Throws:
polyglot.types.SemanticException
checkTarget
protected static polyglot.ast.Receiver checkTarget(LabelChecker lc,
polyglot.ast.Field fe)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
targetType
protected static polyglot.types.ReferenceType targetType(JifTypeSystem ts,
JifContext A,
polyglot.ast.Receiver target,
polyglot.ast.Field fe)