Package jif.ast

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

See:
          Description

Interface Summary
ActsForConstraintNode An immutable representation of the Jif ActsFor constraint.
AmbDynamicLabelNode An ambiguous dynamic label.
AmbExprParam An ambiguous expression parameter.
AmbJunctivePrincipalNode An ambiguous principal node.
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 ambiguous this label node.
AmbVarLabelNode An ambiguous variable label node.
AuthConstraintNode An authority constraint node.
AutoEndorseConstraintNode An auto endorse constraint node.
CallerConstraintNode A caller constraint node.
CanonicalConstraintNode A canonical(non-ambiguous) constraint node.
CanonicalLabelNode A canonical label node.
CanonicalPrincipalNode Canonical principal node.
CheckedEndorseStmt An immutable representation of the Jif checked endorse statement.
ConstArrayTypeNode A ConstArrayTypeNode is a type node for a non-canonical const array type.
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.
DowngradeExpr Superinterface for downgrade expressions.
DowngradeStmt Superinterface for downgrade statements.
EndorseExpr An immutable representation of the Jif endorse expression.
EndorseStmt An immutable representation of the Jif endorse 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.
JifDelFactory  
JifExtFactory  
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.
JifStmtExtFactory  
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.
LabelLeAssertionNode  
LabelNode A placeholder in the AST for a Jif label.
MeetLabelNode This class represents a join of several label nodes.
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.
PolicyNode A policy label node.
PrincipalExpr An immutable representation of the Jif new principal expression.
PrincipalNode A placeholder in AST for a Jif principal.
 

Class Summary
AbstractJifExtFactory_c This class provides is Jif's Extension factory, creating the appropriate Ext objects as required.
ActsForConstraintNode_c An implementation of the ActsForConstraintNode interface.
AmbDynamicLabelNode_c An implementation of the AmbDynamicLabel interface.
AmbExprParam_c An implementation of the AmbParam interface.
AmbJunctivePrincipalNode_c An implementation of the AmbPrincipalNode interface, representing an ambiguous conjunctive or disjunctive principal.
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 implementation of the AuthConstraintNode interface.
AutoEndorseConstraintNode_c  
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 implementation of the CanonicalPrincipal interface.
CheckedEndorseStmt_c An implementation of the CheckedEndorseStmt interface.
ConstArrayTypeNode_c A ConstArrayTypeNode is a type node for a non-canonical const array type.
ConstraintNode_c An implementation of the ConstraintNode interface.
DeclassifyExpr_c An implementation of the DeclassifyExpr interface.
DeclassifyStmt_c An implementation of the DeclassifyStmt interface.
DowngradeExpr_c An implementation of the DowngradeExpr interface.
DowngradeStmt_c An implementation of the DowngradeStmt interface.
EndorseExpr_c An implementation of the EndorseExpr interface.
EndorseStmt_c An implementation of the EndorseStmt interface.
InstTypeNode_c An implementation of the InstTypeNode interface.
Jif_c An implementation of the Jif interface.
JifArrayAccessAssign_c A ArrayAccessAssign_c represents a Java assignment expression to an array element.
JifBinary_c  
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.
LabelLeAssertionNode_c An implementation of the ActsForConstraintNode interface.
LabelNode_c An implementation of the LabelNode interface.
MeetLabelNode_c An implementation of the JoinLabel interface.
NewLabel_c An implementation of the NewLabel interface.
ParamDecl_c An implementation of the ParamDecl interface.
PolicyNode_c An implementation of the PolicyLabel interface.
PrincipalExpr_c  
PrincipalNode_c An implementation of the PrincipalNode interface.
ReaderPolicyNode_c An implementation of the PolicyLabel interface.
WriterPolicyNode_c An implementation of the PolicyLabel 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,