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  java.lang.String 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
 
Constructor Summary
AmbPrincipalNode_c(polyglot.util.Position pos, polyglot.ast.Expr expr)
           
AmbPrincipalNode_c(polyglot.util.Position pos, java.lang.String 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, java.lang.String name)
           
 polyglot.ast.Term entry()
           
 boolean isDisambiguated()
           
protected  polyglot.ast.Node paramToPrincipal(ParamInstance pi, polyglot.visit.AmbiguityRemover sc)
           
protected  polyglot.ast.Node principalToPrincipal(PrincipalInstance vi, polyglot.visit.AmbiguityRemover sc)
           
 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, listEntry, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypesEnter, checkConstants, childExpectedType, 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 java.lang.String 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,
                          java.lang.String 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,
                                             java.lang.String 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

entry

public polyglot.ast.Term entry()
Specified by:
entry in interface polyglot.ast.Term
Specified by:
entry in class polyglot.ast.Term_c

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