jif.extension
Class JifFieldExt

java.lang.Object
  extended by polyglot.ast.Ext_c
      extended by jif.ast.Jif_c
          extended by jif.extension.JifExprExt
              extended by 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

Field Summary
 
Fields inherited from class jif.ast.Jif_c
toJava, X
 
Fields inherited from class polyglot.ast.Ext_c
ext, node
 
Constructor Summary
JifFieldExt(ToJavaExt toJava)
           
 
Method Summary
protected static polyglot.ast.Receiver checkTarget(LabelChecker lc, polyglot.ast.Field fe)
           
 polyglot.ast.Node labelCheck(LabelChecker lc)
          label check the field access.
 polyglot.ast.Node labelCheckIncrement(LabelChecker lc)
           
protected static polyglot.types.ReferenceType targetType(JifTypeSystem ts, JifContext A, polyglot.ast.Receiver target, polyglot.ast.Field fe)
           
 
Methods inherited from class jif.extension.JifExprExt
getNumericBounds, setNumericBounds
 
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
 

Constructor Detail

JifFieldExt

public JifFieldExt(ToJavaExt toJava)
Method Detail

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)