jif.ast
Class AmbPrincipalNode_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.AmbPrincipalNode_c
All Implemented Interfaces:
java.lang.Cloneable, 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 AmbPrincipalNode_c
extends PrincipalNode_c
implements AmbPrincipalNode

An implementation of the AmbPrincipalNode interface.


Field Summary
protected  polyglot.ast.Expr expr
           
protected  polyglot.ast.Id name
           
 
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
AmbPrincipalNode_c(polyglot.util.Position pos, polyglot.ast.Expr expr)
           
AmbPrincipalNode_c(polyglot.util.Position pos, polyglot.ast.Id name)
           
 
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)
           
protected  polyglot.ast.Node disambiguateName(polyglot.visit.AmbiguityRemover ar, polyglot.ast.Id name)
           
 polyglot.ast.Term firstChild()
           
 boolean isDisambiguated()
           
protected  polyglot.ast.Node paramToPrincipal(ParamInstance pi, polyglot.visit.AmbiguityRemover sc)
           
protected  polyglot.ast.Node principalToPrincipal(PrincipalInstance vi, polyglot.visit.AmbiguityRemover sc)
           
protected  AmbPrincipalNode_c reconstruct(polyglot.ast.Expr expr, polyglot.ast.Id name)
           
 java.lang.String toString()
           
protected  polyglot.ast.Node varToPrincipal(JifVarInstance vi, polyglot.visit.AmbiguityRemover sc)
           
 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

expr

protected polyglot.ast.Expr expr

name

protected polyglot.ast.Id name
Constructor Detail

AmbPrincipalNode_c

public AmbPrincipalNode_c(polyglot.util.Position pos,
                          polyglot.ast.Expr expr)

AmbPrincipalNode_c

public AmbPrincipalNode_c(polyglot.util.Position pos,
                          polyglot.ast.Id name)
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

disambiguateName

protected polyglot.ast.Node disambiguateName(polyglot.visit.AmbiguityRemover ar,
                                             polyglot.ast.Id name)
                                      throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

varToPrincipal

protected polyglot.ast.Node varToPrincipal(JifVarInstance vi,
                                           polyglot.visit.AmbiguityRemover sc)
                                    throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

principalToPrincipal

protected polyglot.ast.Node principalToPrincipal(PrincipalInstance vi,
                                                 polyglot.visit.AmbiguityRemover sc)
                                          throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

paramToPrincipal

protected polyglot.ast.Node paramToPrincipal(ParamInstance pi,
                                             polyglot.visit.AmbiguityRemover sc)
                                      throws polyglot.types.SemanticException
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 AmbPrincipalNode_c reconstruct(polyglot.ast.Expr expr,
                                         polyglot.ast.Id name)