jif.ast
Interface JifNodeFactory

All Superinterfaces:
polyglot.ast.NodeFactory
All Known Implementing Classes:
JifNodeFactory_c

public interface JifNodeFactory
extends polyglot.ast.NodeFactory

The node factory of the Jif extension.


Method Summary
 ActsFor ActsFor(polyglot.util.Position pos, ActsFor.Kind kind, PrincipalNode actor, PrincipalNode granter, polyglot.ast.Stmt consequent, polyglot.ast.Stmt alternative)
           
 ActsFor ActsFor(polyglot.util.Position pos, ActsFor.Kind kind, Principal actor, Principal granter, polyglot.ast.Stmt consequent, polyglot.ast.Stmt alternative)
           
 ActsForConstraintNode ActsForConstraintNode(polyglot.util.Position pos, PrincipalNode actor, PrincipalNode granter)
           
 ActsForConstraintNode ActsForConstraintNode(polyglot.util.Position pos, PrincipalNode actor, PrincipalNode granter, boolean isEquiv)
           
 AmbDynamicLabelNode AmbDynamicLabelNode(polyglot.util.Position pos, polyglot.ast.Expr expr)
           
 AmbNewArray AmbNewArray(polyglot.util.Position pos, polyglot.ast.TypeNode base, java.lang.Object expr, java.util.List dims)
           
 AmbExprParam AmbParam(polyglot.util.Position pos, polyglot.ast.Expr expr, ParamInstance expectedPI)
           
 AmbParam AmbParam(polyglot.util.Position pos, java.lang.String name)
           
 AmbParam AmbParam(polyglot.util.Position pos, java.lang.String name, ParamInstance pi)
           
 AmbParamTypeOrAccess AmbParamTypeOrAccess(polyglot.util.Position pos, polyglot.ast.Receiver base, java.lang.Object expr)
           
 AmbPrincipalNode AmbPrincipalNode(polyglot.util.Position pos, polyglot.ast.Expr expr)
           
 AmbPrincipalNode AmbPrincipalNode(polyglot.util.Position pos, java.lang.String name)
           
 AmbThisLabelNode AmbThisLabelNode(polyglot.util.Position pos)
           
 AmbVarLabelNode AmbVarLabelNode(polyglot.util.Position pos, java.lang.String name)
           
 AuthConstraintNode AuthConstraintNode(polyglot.util.Position pos, java.util.List principals)
           
 CallerConstraintNode CallerConstraintNode(polyglot.util.Position pos, java.util.List principals)
           
 CanonicalConstraintNode CanonicalConstraintNode(polyglot.util.Position pos, Assertion constraint)
           
 CanonicalLabelNode CanonicalLabelNode(polyglot.util.Position pos, Label label)
           
 CanonicalPrincipalNode CanonicalPrincipalNode(polyglot.util.Position pos, Principal principal)
           
 DeclassifyExpr DeclassifyExpr(polyglot.util.Position pos, polyglot.ast.Expr expr, LabelNode bound, LabelNode label)
           
 DeclassifyStmt DeclassifyStmt(polyglot.util.Position pos, LabelNode bound, LabelNode label, polyglot.ast.Stmt body)
           
 InstTypeNode InstTypeNode(polyglot.util.Position pos, polyglot.ast.TypeNode type, java.util.List params)
           
 JifClassDecl JifClassDecl(polyglot.util.Position pos, polyglot.types.Flags flags, java.lang.String name, java.util.List params, polyglot.ast.TypeNode superClass, java.util.List interfaces, java.util.List authority, polyglot.ast.ClassBody body)
           
 JifConstructorDecl JifConstructorDecl(polyglot.util.Position pos, polyglot.types.Flags flags, java.lang.String name, LabelNode startLabel, LabelNode returnLabel, java.util.List arguments, java.util.List exceptions, java.util.List constraints, polyglot.ast.Block body)
           
 JifMethodDecl JifMethodDecl(polyglot.util.Position pos, polyglot.types.Flags flags, polyglot.ast.TypeNode returnType, java.lang.String name, LabelNode startLabel, java.util.List arguments, LabelNode endLabel, java.util.List exceptions, java.util.List constraints, polyglot.ast.Block body)
           
 JoinLabelNode JoinLabelNode(polyglot.util.Position pos, java.util.List components)
           
 LabeledTypeNode LabeledTypeNode(polyglot.util.Position pos, polyglot.ast.TypeNode type, LabelNode label)
           
 LabelExpr LabelExpr(polyglot.util.Position pos, Label l)
           
 LabelIf LabelIf(polyglot.util.Position pos, LabelExpr lhs, LabelExpr rhs, polyglot.ast.Stmt consequent, polyglot.ast.Stmt alternative)
           
 LabelLeAssertionNode LabelLeAssertionNode(polyglot.util.Position pos, LabelNode actor, LabelNode granter)
           
 NewLabel NewLabel(polyglot.util.Position pos, LabelNode label)
           
 ParamDecl ParamDecl(polyglot.util.Position pos, ParamInstance.Kind kind, java.lang.String name)
           
 PolicyLabelNode PolicyLabelNode(polyglot.util.Position pos, PrincipalNode owner, java.util.List readers)
           
 
Methods inherited from interface polyglot.ast.NodeFactory
AmbAssign, AmbExpr, AmbPrefix, AmbPrefix, AmbQualifierNode, AmbQualifierNode, AmbReceiver, AmbReceiver, AmbTypeNode, AmbTypeNode, ArrayAccess, ArrayAccessAssign, ArrayInit, ArrayInit, ArrayTypeNode, Assert, Assert, Assign, Binary, Block, Block, Block, Block, Block, Block, BooleanLit, Branch, Branch, Break, Break, Call, Call, Call, Call, Call, Call, Call, Call, Call, Call, Call, Call, CanonicalTypeNode, Case, Cast, Catch, CharLit, ClassBody, ClassDecl, ClassLit, Conditional, ConstructorCall, ConstructorCall, ConstructorDecl, Continue, Continue, Default, disamb, Do, Empty, Eval, Field, Field, FieldAssign, FieldDecl, FieldDecl, FloatLit, For, Formal, If, If, Import, Initializer, Instanceof, IntLit, Labeled, Local, LocalAssign, LocalClassDecl, LocalDecl, LocalDecl, MethodDecl, New, New, New, New, NewArray, NewArray, NewArray, NewArray, NullLit, PackageNode, Return, Return, SourceCollection, SourceFile, SourceFile, SourceFile, Special, Special, StringLit, Super, Super, SuperCall, SuperCall, Switch, SwitchBlock, Synchronized, This, This, ThisCall, ThisCall, Throw, Try, Try, Unary, Unary, While
 

Method Detail

InstTypeNode

InstTypeNode InstTypeNode(polyglot.util.Position pos,
                          polyglot.ast.TypeNode type,
                          java.util.List params)

LabeledTypeNode

LabeledTypeNode LabeledTypeNode(polyglot.util.Position pos,
                                polyglot.ast.TypeNode type,
                                LabelNode label)

AmbNewArray

AmbNewArray AmbNewArray(polyglot.util.Position pos,
                        polyglot.ast.TypeNode base,
                        java.lang.Object expr,
                        java.util.List dims)

AmbParamTypeOrAccess

AmbParamTypeOrAccess AmbParamTypeOrAccess(polyglot.util.Position pos,
                                          polyglot.ast.Receiver base,
                                          java.lang.Object expr)

JoinLabelNode

JoinLabelNode JoinLabelNode(polyglot.util.Position pos,
                            java.util.List components)

PolicyLabelNode

PolicyLabelNode PolicyLabelNode(polyglot.util.Position pos,
                                PrincipalNode owner,
                                java.util.List readers)

AmbDynamicLabelNode

AmbDynamicLabelNode AmbDynamicLabelNode(polyglot.util.Position pos,
                                        polyglot.ast.Expr expr)

AmbVarLabelNode

AmbVarLabelNode AmbVarLabelNode(polyglot.util.Position pos,
                                java.lang.String name)

AmbThisLabelNode

AmbThisLabelNode AmbThisLabelNode(polyglot.util.Position pos)

CanonicalLabelNode

CanonicalLabelNode CanonicalLabelNode(polyglot.util.Position pos,
                                      Label label)

AmbPrincipalNode

AmbPrincipalNode AmbPrincipalNode(polyglot.util.Position pos,
                                  polyglot.ast.Expr expr)

AmbPrincipalNode

AmbPrincipalNode AmbPrincipalNode(polyglot.util.Position pos,
                                  java.lang.String name)

CanonicalPrincipalNode

CanonicalPrincipalNode CanonicalPrincipalNode(polyglot.util.Position pos,
                                              Principal principal)

JifClassDecl

JifClassDecl JifClassDecl(polyglot.util.Position pos,
                          polyglot.types.Flags flags,
                          java.lang.String name,
                          java.util.List params,
                          polyglot.ast.TypeNode superClass,
                          java.util.List interfaces,
                          java.util.List authority,
                          polyglot.ast.ClassBody body)

JifMethodDecl

JifMethodDecl JifMethodDecl(polyglot.util.Position pos,
                            polyglot.types.Flags flags,
                            polyglot.ast.TypeNode returnType,
                            java.lang.String name,
                            LabelNode startLabel,
                            java.util.List arguments,
                            LabelNode endLabel,
                            java.util.List exceptions,
                            java.util.List constraints,
                            polyglot.ast.Block body)

JifConstructorDecl

JifConstructorDecl JifConstructorDecl(polyglot.util.Position pos,
                                      polyglot.types.Flags flags,
                                      java.lang.String name,
                                      LabelNode startLabel,
                                      LabelNode returnLabel,
                                      java.util.List arguments,
                                      java.util.List exceptions,
                                      java.util.List constraints,
                                      polyglot.ast.Block body)

AmbParam

AmbParam AmbParam(polyglot.util.Position pos,
                  java.lang.String name)

AmbParam

AmbParam AmbParam(polyglot.util.Position pos,
                  java.lang.String name,
                  ParamInstance pi)

AmbParam

AmbExprParam AmbParam(polyglot.util.Position pos,
                      polyglot.ast.Expr expr,
                      ParamInstance expectedPI)

ParamDecl

ParamDecl ParamDecl(polyglot.util.Position pos,
                    ParamInstance.Kind kind,
                    java.lang.String name)

CanonicalConstraintNode

CanonicalConstraintNode CanonicalConstraintNode(polyglot.util.Position pos,
                                                Assertion constraint)

AuthConstraintNode

AuthConstraintNode AuthConstraintNode(polyglot.util.Position pos,
                                      java.util.List principals)

CallerConstraintNode

CallerConstraintNode CallerConstraintNode(polyglot.util.Position pos,
                                          java.util.List principals)

ActsForConstraintNode

ActsForConstraintNode ActsForConstraintNode(polyglot.util.Position pos,
                                            PrincipalNode actor,
                                            PrincipalNode granter)

ActsForConstraintNode

ActsForConstraintNode ActsForConstraintNode(polyglot.util.Position pos,
                                            PrincipalNode actor,
                                            PrincipalNode granter,
                                            boolean isEquiv)

LabelLeAssertionNode

LabelLeAssertionNode LabelLeAssertionNode(polyglot.util.Position pos,
                                          LabelNode actor,
                                          LabelNode granter)

ActsFor

ActsFor ActsFor(polyglot.util.Position pos,
                ActsFor.Kind kind,
                Principal actor,
                Principal granter,
                polyglot.ast.Stmt consequent,
                polyglot.ast.Stmt alternative)

ActsFor

ActsFor ActsFor(polyglot.util.Position pos,
                ActsFor.Kind kind,
                PrincipalNode actor,
                PrincipalNode granter,
                polyglot.ast.Stmt consequent,
                polyglot.ast.Stmt alternative)

LabelIf

LabelIf LabelIf(polyglot.util.Position pos,
                LabelExpr lhs,
                LabelExpr rhs,
                polyglot.ast.Stmt consequent,
                polyglot.ast.Stmt alternative)

LabelExpr

LabelExpr LabelExpr(polyglot.util.Position pos,
                    Label l)

DeclassifyStmt

DeclassifyStmt DeclassifyStmt(polyglot.util.Position pos,
                              LabelNode bound,
                              LabelNode label,
                              polyglot.ast.Stmt body)

DeclassifyExpr

DeclassifyExpr DeclassifyExpr(polyglot.util.Position pos,
                              polyglot.ast.Expr expr,
                              LabelNode bound,
                              LabelNode label)

NewLabel

NewLabel NewLabel(polyglot.util.Position pos,
                  LabelNode label)