jif.ast
Class AmbJunctivePrincipalNode_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.Expr_c
              extended by jif.ast.PrincipalNode_c
                  extended by jif.ast.AmbJunctivePrincipalNode_c
All Implemented Interfaces:
java.lang.Cloneable, AmbJunctivePrincipalNode, AmbPrincipalNode, ParamNode, PrincipalNode, polyglot.ast.Ambiguous, polyglot.ast.Expr, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Prefix, polyglot.ast.Receiver, polyglot.ast.Term, polyglot.ast.Typed, polyglot.util.Copy

public class AmbJunctivePrincipalNode_c
extends PrincipalNode_c
implements AmbJunctivePrincipalNode

An implementation of the AmbPrincipalNode interface, representing an ambiguous conjunctive or disjunctive principal.


Field Summary
protected  boolean isConjunction
           
protected  PrincipalNode left
           
protected  PrincipalNode right
           
 
Fields inherited from class polyglot.ast.Expr_c
type
 
Fields inherited from class polyglot.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Fields inherited from interface polyglot.ast.Term
ENTRY, EXIT
 
Constructor Summary
AmbJunctivePrincipalNode_c(polyglot.util.Position pos, PrincipalNode left, PrincipalNode right, boolean isConjunction)
           
 
Method Summary
 java.util.List acceptCFG(polyglot.visit.CFGBuilder v, java.util.List succs)
          Visit this term in evaluation order.
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
           
 polyglot.ast.Term firstChild()
           
 boolean isDisambiguated()
           
protected  AmbJunctivePrincipalNode_c reconstruct(PrincipalNode l, PrincipalNode r)
           
 java.lang.String toString()
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class jif.ast.PrincipalNode_c
parameter, principal, principal, throwTypes, typeCheck
 
Methods inherited from class polyglot.ast.Expr_c
booleanValue, buildTypes, byteValue, charValue, constantValue, constantValueSet, doubleValue, dump, floatValue, intValue, isConstant, isTypeChecked, longValue, precedence, printSubExpr, printSubExpr, shortValue, stringValue, type, type
 
Methods inherited from class polyglot.ast.Term_c
exceptionCheck, exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, del, del, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, node, position, position, prettyPrint, prettyPrint, prettyPrint, print, printBlock, printSubStmt, translate, 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.PrincipalNode
principal, principal
 
Methods inherited from interface jif.ast.ParamNode
parameter
 
Methods inherited from interface polyglot.ast.Expr
constantValue, constantValueSet, isConstant, precedence, printSubExpr, printSubExpr, type
 
Methods inherited from interface polyglot.ast.Typed
type
 
Methods inherited from interface polyglot.ast.Term
exceptions, exceptions, reachable, reachable
 

Field Detail

left

protected PrincipalNode left

right

protected PrincipalNode right

isConjunction

protected boolean isConjunction
Constructor Detail

AmbJunctivePrincipalNode_c

public AmbJunctivePrincipalNode_c(polyglot.util.Position pos,
                                  PrincipalNode left,
                                  PrincipalNode right,
                                  boolean isConjunction)
Method Detail

isDisambiguated

public boolean isDisambiguated()
Specified by:
isDisambiguated in interface polyglot.ast.Node
Overrides:
isDisambiguated in class PrincipalNode_c

toString

public java.lang.String toString()
Overrides:
toString in class PrincipalNode_c

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

acceptCFG

public java.util.List acceptCFG(polyglot.visit.CFGBuilder v,
                                java.util.List succs)
Visit this term in evaluation order.

Specified by:
acceptCFG in interface polyglot.ast.Term
Specified by:
acceptCFG in class polyglot.ast.Term_c

firstChild

public polyglot.ast.Term firstChild()
Specified by:
firstChild in interface polyglot.ast.Term

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

reconstruct

protected AmbJunctivePrincipalNode_c reconstruct(PrincipalNode l,
                                                 PrincipalNode r)