jltools.ext.jif.ast
Interface Jif

All Superinterfaces:
java.lang.Cloneable, Copy, Ext
All Known Implementing Classes:
Jif_c

public interface Jif
extends Ext

This class represents a Jif extension node. It is the root of all the Jif extension node classes.


Method Summary
 Node labelCheck(LabelChecker lc)
          Label check the node to which this extension is attached.
 PrincipalHierarchy ph()
          Gets the principal hierarchy.
 Jif ph(PrincipalHierarchy ph)
          Returns a copy of this object with the principal hierarchy updated.
 Label runtimeLabel(JifTypeSystem ts, Expr expr)
          Extracts the runtime label from an expression
 PathMap X()
          Gets the path map of this extension.
 Jif X(PathMap X)
          Returns a copy of this object with the path map updated.
 
Methods inherited from interface jltools.ast.Ext
buildTypes, buildTypesOverride, copy, disambiguate, disambiguateOverride, disambiguateTypes, disambiguateTypesOverride, exceptionCheck, exceptionCheckOverride, foldConstants, foldConstantsOverride, init, reconstructTypes, translate, typeCheck, typeCheckOverride
 

Method Detail

X

public PathMap X()
Gets the path map of this extension.

X

public Jif X(PathMap X)
Returns a copy of this object with the path map updated.

ph

public PrincipalHierarchy ph()
Gets the principal hierarchy.

ph

public Jif ph(PrincipalHierarchy ph)
Returns a copy of this object with the principal hierarchy updated.

labelCheck

public Node labelCheck(LabelChecker lc)
                throws SemanticException
Label check the node to which this extension is attached.

runtimeLabel

public Label runtimeLabel(JifTypeSystem ts,
                          Expr expr)
Extracts the runtime label from an expression