Package jif.types

Contains classes related to the Jif type system and Jif types, including Jif labels and principals.


Interface Summary
ActsForConstraint The acts-for constraint.
Assertion An Assertion represents a condition on labels and/or principals that is assumed to hold true.
AuthConstraint The authority constraint.
AutoEndorseConstraint The auto endorse constraint.
CallerConstraint The caller constraint.
ConstArrayType A ConstArrayType represents an array of base types, whose elements cannot change after initialization.
ExceptionPath The control flow path introduced by throwing a exception.
JifClassType Jif class type.
JifConstructorInstance Jif constructor instance.
JifContext The context for Jif type checking.
JifFieldInstance Jif field instance.
JifLocalInstance Jif local instance.
JifMethodInstance Jif method instance.
JifParsedPolyType Jif parsed polymorphic class type.
JifPolyType Jif polymorphic type.
JifProcedureInstance Jif procedure instance.
JifTypeSystem Jif type system.
JifVarInstance Jif variable instance.
LabeledType A labeled type.
Param The root of the Jif class parameter types.
ParamInstance A parameter instance.
Path A control flow path.
PrincipalInstance A PrincipalInstance represents a global principal.
Solver A solver of Jif constraints.
UnknownParam A representation of any unknown class parameter.

Class Summary
AbstractSolver A solver of Jif constraints.
AbstractSolver.EquationQueue A queue for equations.
ActsForConstraint_c An implementation of the ActsForConstraint interface.
AuthConstraint_c An implementation of the AuthConstraint interface.
AutoEndorseConstraint_c An implementation of the CallerConstraint interface.
CallerConstraint_c An implementation of the CallerConstraint interface.
Constraint A Constraint is the superclass of label constraints and principals constraints, which are generated during type checking and label checking.
Constraint.Kind Kinds of constraint, either equality or inequality.
ConstraintMessage A LabelConstraintMessage provides error messages for label constraints.
Equation Label equation derived from a label constraint.
ExceptionPath_c An implementation of the ExceptionPath interface.
GotoPath_c The control flow path derived from GOTO like statements.
JifConstructorInstance_c An implementation of the JifConstructorInstance interface.
JifContext_c An implementation of the JifContext interface.
JifFieldInstance_c An implementation of the JifFieldInstance interface.
JifLazyClassInitializer_c A LazyClassInitializer is responsible for initializing members of a class after it has been created.
JifLocalInstance_c An implementation of the JifLocalInstance interface.
JifMethodInstance_c An implementation of the JifMethodInstance interface.
JifMuPClass_c An implementation of the JifParsedPolyType interface.
JifParsedPolyType_c An implementation of the JifParsedPolyType interface.
JifTypeSystem_c An implementation of the JifTypeSystem interface.
LabelConstraint A LabelConstraint represents a constraint on labels, which may either be an inequality or equality constraint.
LabeledType_c An implementation of the LabeledType interface.
LabelEquation Label equation derived from a label constraint.
LabelSubstitution The class is a simple Label visitor.
NamedLabel A Jif label with names for the debuging use.
ParamInstance_c An implementation of the ParamInstance interface.
PathMap Implements the mapping from paths to labels.
PrincipalConstraint A PrincipalConstraint represents a constraint on principals, which may either be an actsfor or an equivalence constraint.
PrincipalEquation Principal equation derived from a principal constraint.
PrincipalInstance_c An implementation of the PrincipalInstance interface.
SolverGLB A solver of Jif constraints.
TypeSubstitutor Visits an AST, and applies a LabelSubsitution to all labels that occur in the AST.
UnknownParam_c An implementation of the UnknownParam interface.
VarMap Maps variable components to labels.

Exception Summary
SemanticDetailedException Allow a more detailed message if requested.

Package jif.types Description

Contains classes related to the Jif type system and Jif types, including Jif labels and principals.

All the types and labelsextend from the class TypeObject. The objects of these classes should be created by invoking the correponding methods of JifTypeSystem.

See Also:
TypeObject, Type, TypeSystem,