jif.ast
Class PolicyLabelNode_c

java.lang.Object
  extended by polyglot.ext.jl.ast.Node_c
      extended by jif.ast.LabelNode_c
          extended by jif.ast.AmbLabelNode_c
              extended by jif.ast.PolicyLabelNode_c
All Implemented Interfaces:
java.lang.Cloneable, LabelNode, ParamNode, PolicyLabelNode, polyglot.ast.Ambiguous, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.util.Copy

public class PolicyLabelNode_c
extends AmbLabelNode_c
implements PolicyLabelNode

An implementation of the PolicyLabel interface.


Field Summary
protected  PrincipalNode owner
           
protected  java.util.List readers
           
 
Fields inherited from class polyglot.ext.jl.ast.Node_c
del, error, ext, position
 
Constructor Summary
PolicyLabelNode_c(polyglot.util.Position pos, PrincipalNode owner, java.util.List readers)
           
 
Method Summary
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
          Disambiguate the type of this node.
 PrincipalNode owner()
           
 PolicyLabelNode owner(PrincipalNode owner)
           
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
 java.util.List readers()
           
 PolicyLabelNode readers(java.util.List readers)
           
protected  PolicyLabelNode_c reconstruct(PrincipalNode owner, java.util.List readers)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class jif.ast.AmbLabelNode_c
isDisambiguated
 
Methods inherited from class jif.ast.LabelNode_c
label, label, parameter, toString, translate
 
Methods inherited from class polyglot.ext.jl.ast.Node_c
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, 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, 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 jif.ast.LabelNode
label, label
 
Methods inherited from interface jif.ast.ParamNode
parameter
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, error, error, ext, ext, ext, ext, isDisambiguated, 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, 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

owner

protected PrincipalNode owner

readers

protected java.util.List readers
Constructor Detail

PolicyLabelNode_c

public PolicyLabelNode_c(polyglot.util.Position pos,
                         PrincipalNode owner,
                         java.util.List readers)
Method Detail

owner

public PrincipalNode owner()
Specified by:
owner in interface PolicyLabelNode

owner

public PolicyLabelNode owner(PrincipalNode owner)
Specified by:
owner in interface PolicyLabelNode

readers

public java.util.List readers()
Specified by:
readers in interface PolicyLabelNode

readers

public PolicyLabelNode readers(java.util.List readers)
Specified by:
readers in interface PolicyLabelNode

reconstruct

protected PolicyLabelNode_c reconstruct(PrincipalNode owner,
                                        java.util.List readers)

visitChildren

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

disambiguate

public polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
                               throws polyglot.types.SemanticException
Description copied from class: AmbLabelNode_c
Disambiguate the type of this node.

Specified by:
disambiguate in interface polyglot.ast.NodeOps
Specified by:
disambiguate in class AmbLabelNode_c
Throws:
polyglot.types.SemanticException

prettyPrint

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