Class Wrapper

  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.Expr_c
              extended by jif.parse.Wrapper
All Implemented Interfaces:
java.lang.Cloneable, 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 Wrapper
extends polyglot.ast.Expr_c

A Wrapper wraps an Amb inside an AST node so that it can be insert in the AST. However, the tree must be visited by an UnwrapVisitor before it is returned from the parser, otherwise the other phases of the compiler will be unable to work with the tree!

Field Summary
 Amb amb
Fields inherited from class polyglot.ast.Expr_c
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
Constructor Summary
Wrapper(Amb amb)
Method Summary
 java.util.List acceptCFG(polyglot.visit.CFGBuilder v, java.util.List succs)
          Visit this term in evaluation order.
 polyglot.ast.Term firstChild()
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
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, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, isDisambiguated, node, position, position, prettyPrint, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, toString, 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, error, error, ext, ext, ext, ext, isDisambiguated, position, position, visit, visitChild, visitEdge, visitList
Methods inherited from interface polyglot.ast.JL
init, node
Methods inherited from interface polyglot.ast.NodeOps
addDecls, buildTypesEnter, checkConstants, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride
Methods inherited from interface polyglot.util.Copy
Methods inherited from interface polyglot.ast.Term
exceptions, exceptions, reachable, reachable

Field Detail


public Amb amb
Constructor Detail


public Wrapper(Amb amb)
Method Detail


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


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


public polyglot.ast.Term firstChild()