jif.ast
Class WriterPolicyNode_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by jif.ast.PolicyNode_c
          extended by jif.ast.WriterPolicyNode_c
All Implemented Interfaces:
java.lang.Cloneable, PolicyNode, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.util.Copy

public class WriterPolicyNode_c
extends PolicyNode_c

An implementation of the PolicyLabel interface.


Field Summary
protected  java.util.List principals
           
 
Fields inherited from class jif.ast.PolicyNode_c
owner, policy
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Constructor Summary
WriterPolicyNode_c(polyglot.util.Position pos, PrincipalNode owner, java.util.List principals)
           
 
Method Summary
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
           
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
 java.util.List principals()
           
 PolicyNode principals(java.util.List principals)
           
protected  Policy producePolicy(JifTypeSystem ts, Principal owner, java.util.List principals)
           
protected  WriterPolicyNode_c reconstruct(PrincipalNode owner, java.util.List principals)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class jif.ast.PolicyNode_c
isDisambiguated, owner, owner, policy
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, del, del, disambiguateEnter, disambiguateOverride, dump, dump, dump, enterChildScope, enterScope, error, error, exceptionCheck, exceptionCheckEnter, ext, ext, ext, ext, init, isTypeChecked, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, toString, translate, typeCheck, typeCheckEnter, typeCheckOverride, visit, visitChild, visitEdge, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, error, error, ext, ext, ext, ext, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, buildTypes, buildTypesEnter, checkConstants, copy, copy, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.util.Copy
copy
 

Field Detail

principals

protected java.util.List principals
Constructor Detail

WriterPolicyNode_c

public WriterPolicyNode_c(polyglot.util.Position pos,
                          PrincipalNode owner,
                          java.util.List principals)
Method Detail

principals

public java.util.List principals()

principals

public PolicyNode principals(java.util.List principals)

producePolicy

protected Policy producePolicy(JifTypeSystem ts,
                               Principal owner,
                               java.util.List principals)

disambiguate

public polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
                               throws polyglot.types.SemanticException
Specified by:
disambiguate in interface polyglot.ast.NodeOps
Overrides:
disambiguate in class polyglot.ast.Node_c
Throws:
polyglot.types.SemanticException

reconstruct

protected WriterPolicyNode_c reconstruct(PrincipalNode owner,
                                         java.util.List principals)

visitChildren

public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Specified by:
visitChildren in interface polyglot.ast.NodeOps
Overrides:
visitChildren in class polyglot.ast.Node_c

prettyPrint

public void prettyPrint(polyglot.util.CodeWriter w,
                        polyglot.visit.PrettyPrinter tr)
Specified by:
prettyPrint in interface polyglot.ast.NodeOps
Overrides:
prettyPrint in class polyglot.ast.Node_c