jif.ast
Class AmbExprParam_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by jif.ast.AmbExprParam_c
All Implemented Interfaces:
java.lang.Cloneable, AmbExprParam, AmbParam, ParamNode, polyglot.ast.Ambiguous, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.util.Copy

public class AmbExprParam_c
extends polyglot.ast.Node_c
implements AmbExprParam

An implementation of the AmbParam interface.


Field Summary
protected  ParamInstance expectedPI
           
protected  polyglot.ast.Expr expr
           
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Constructor Summary
AmbExprParam_c(polyglot.util.Position pos, polyglot.ast.Expr expr, ParamInstance expectedPI)
           
 
Method Summary
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
          Always return a CanoncialLabelNode, and let the dynamic label be possibly changed to a dynamic principal later.
 AmbParam expectedPI(ParamInstance expectedPI)
           
 polyglot.ast.Expr expr()
           
 AmbParam expr(polyglot.ast.Expr expr)
           
 boolean isDisambiguated()
           
 Param parameter()
           
protected  AmbExprParam_c reconstruct(polyglot.ast.Expr expr, ParamInstance expectedPI)
           
 java.lang.String toString()
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
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, prettyPrint, print, printBlock, printSubStmt, throwTypes, 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, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride
 
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, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride
 

Field Detail

expr

protected polyglot.ast.Expr expr

expectedPI

protected ParamInstance expectedPI
Constructor Detail

AmbExprParam_c

public AmbExprParam_c(polyglot.util.Position pos,
                      polyglot.ast.Expr expr,
                      ParamInstance expectedPI)
Method Detail

isDisambiguated

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

expr

public polyglot.ast.Expr expr()

expr

public AmbParam expr(polyglot.ast.Expr expr)

expectedPI

public AmbParam expectedPI(ParamInstance expectedPI)
Specified by:
expectedPI in interface AmbExprParam

parameter

public Param parameter()
Specified by:
parameter in interface ParamNode

toString

public java.lang.String toString()
Overrides:
toString in class polyglot.ast.Node_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

reconstruct

protected AmbExprParam_c reconstruct(polyglot.ast.Expr expr,
                                     ParamInstance expectedPI)

disambiguate

public polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
                               throws polyglot.types.SemanticException
Always return a CanoncialLabelNode, and let the dynamic label be possibly changed to a dynamic principal later.

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