Package jif.ast

Provides classes for dealing with the Jif AST nodes and interfaces.

See:
          Description

Interface Summary
ActsFor An immutable representation of a Jif actsFor statement.
ActsForConstraintNode An immutable representation of the Jif ActsFor constraint.
AmbDynamicLabelNode An ambiguous dynamic label.
AmbExprParam An ambiguous expression parameter.
AmbNewArray An ambiguous new array expression.
AmbParam An ambiguous parameter.
AmbParamTypeOrAccess An ambiguous parameter type or array access.
AmbPrincipalNode An ambiguous principal node.
AmbThisLabelNode An ambigous this label node.
AmbVarLabelNode An ambiguous variable label node.
AuthConstraintNode An authority constraint node.
CallerConstraintNode A caller constraint node.
CanonicalConstraintNode A canonical(non-ambiguous) constraint node.
CanonicalLabelNode A canonical label node.
CanonicalPrincipalNode Canonical principal node.
ConstraintNode The root of various constraint nodes.
DeclassifyExpr An immutable representation of the Jif declassify expression.
DeclassifyStmt An immutable representation of the Jif declassify statement.
InstTypeNode Instantiated type node.
Jif This class represents a Jif extension node.
JifCanonicalTypeNode A JifCanonicalTypeNode is a type node for a canonical type in Polyj.
JifClassDecl An immutable representation of the Jif class declaration.
JifConstructorDecl An immutable representation of the Jif constructor declaration.
JifMethodDecl An immutable representation of the Jif method declaration.
JifNodeFactory The node factory of the Jif extension.
JifProcedureDecl An immutable representation of the Jif procedure declaration.
JoinLabelNode This class represents a join of several label nodes.
LabeledTypeNode This class represents a labeled type node.
LabelExpr An immutable representation of the Jif new label statement.
LabelIf An immutable representation of a Jif actsFor statement.
LabelNode A placeholder in the AST for a Jif label.
NewLabel An immutable representation of the Jif new label statement.
ParamDecl The AST node representing a label/principal parameter declaration.
ParamNode This class is the root of all the classes that may be parameters, including label node classes and principal node classes.
PolicyLabelNode A policy label node.
PrincipalNode A placeholder in AST for a Jif principal.
 

Class Summary
ActsFor_c An implementation of the ActsFor interface.
ActsForConstraintNode_c An implementation of the ActsForConstraintNode interface.
AmbDynamicLabelNode_c An implementation of the AmbDynamicLabel interface.
AmbExprParam_c An implementation of the AmbParam interface.
AmbLabelNode_c An ambiguous label node.
AmbNewArray_c An implementation of the AmbNewArray interface.
AmbParam_c An implementation of the AmbParam interface.
AmbParamTypeOrAccess_c An implementation of the AmbParamTypeOrAccess interface.
AmbPrincipalNode_c An implementation of the AmbPrincipalNode interface.
AmbThisLabelNode_c An implementation of the AmbThisLabelNode interface.
AmbVarLabelNode_c An implementation of the AmbVarLabelNode interface.
AuthConstraintNode_c An implmentation of the AuthConstraintNode interface.
CallerConstraintNode_c An implementation of the CallerConstraint interface.
CanonicalConstraintNode_c An implementation of the CanonicalConstraint.
CanonicalLabelNode_c An implementation of the CanonicalLabelNode interface.
CanonicalPrincipalNode_c An implemenation of the CanonicalPrincipal interface.
ConstraintNode_c An implementation of the ConstraintNode interface.
DeclassifyExpr_c An implemenation of the DeclassifyExpr interface.
DeclassifyStmt_c An implementation of the DeclassifyStmt interface.
InstTypeNode_c An implementation of the InstTypeNode interface.
Jif_c An implementation of the Jif interface.
JifCall_c  
JifCanonicalTypeNode_c A JifCanonicalTypeNode is a type node for a canonical type in Polyj.
JifCatch_c  
JifClassDecl_c An implementation of the JifClassDecl interface.
JifConstructorDecl_c An implementation of the JifConstructor interface.
JifDelFactory_c Constructs Jif delegates
JifDisamb_c Utility class which is used to disambiguate ambiguous AST nodes (Expr, Type, Receiver, Qualifier, Prefix).
JifExtFactory_c This class provides is Jif's Extension factory, creating the appropriate Ext objects as required.
JifFormal_c  
JifInstantiator This class contains a number of static utility methods to help instantiate labels, principals and types.
JifLocalDecl_c  
JifMethodDecl_c An implementation of the JifMethod interface.
JifNew_c  
JifNodeFactory_c An implementation of the JifNodeFactory interface.
JifUtil An implementation of the Jif interface.
JoinLabelNode_c An implementation of the JoinLabel interface.
LabeledTypeNode_c An implementation of the LabeledTypeNode interface.
LabelExpr_c An implementation of the NewLabel interface.
LabelIf_c An implementation of the LabelIf interface.
LabelNode_c An implementation of the LabelNode interface.
NewLabel_c An implementation of the NewLabel interface.
ParamDecl_c An implementation of the ParamDecl interface.
PolicyLabelNode_c An implementation of the PolicyLabel interface.
PrincipalNode_c An implementation of the PrincipalNode interface.
 

Package jif.ast Description

Provides classes for dealing with the Jif AST nodes and interfaces.

The nodes all implement the interface Node and extend from the class Node_c. Each node has accessor methods and methods to implement passes over the node. The traversal interface is defined in NodeVisitor. Nodes are constructed using a NodeFactory.

See Also:
Node, Node, NodeVisitor, NodeFactory, JifNodeFactory,