polyglot.ext.jl.ast
Class Eval_c
java.lang.Object
polyglot.ext.jl.ast.Node_c
polyglot.ext.jl.ast.Term_c
polyglot.ext.jl.ast.Stmt_c
polyglot.ext.jl.ast.Eval_c
- All Implemented Interfaces:
- java.lang.Cloneable, Copy, Eval, ForInit, ForUpdate, JL, Node, NodeOps, Stmt, Term
- public class Eval_c
- extends Stmt_c
- implements Eval
An Eval
is a wrapper for an expression in the context of
a statement.
Methods inherited from class polyglot.ext.jl.ast.Node_c |
addDecls, addMembers, addMembersEnter, addMembersOverride, buildTypes, buildTypesEnter, buildTypesOverride, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, dump, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, exceptionCheckOverride, ext, ext, ext, ext, init, node, position, position, 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 |
del, del, dump, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge |
Methods inherited from interface polyglot.ast.JL |
init, node |
Methods inherited from interface polyglot.ast.NodeOps |
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, throwTypes, translate, typeCheck, typeCheckEnter |
Methods inherited from interface polyglot.util.Copy |
copy |
expr
protected Expr expr
Eval_c
public Eval_c(Position pos,
Expr expr)
expr
public Expr expr()
- Get the expression of the statement.
- Specified by:
expr
in interface Eval
expr
public Eval expr(Expr expr)
- Set the expression of the statement.
- Specified by:
expr
in interface Eval
reconstruct
protected Eval_c reconstruct(Expr expr)
- Reconstruct the statement.
childExpectedType
public Type childExpectedType(Expr child,
AscriptionVisitor av)
- Description copied from interface:
Node
- Get the expected type of a child expression of
this
.
The expected type is determined by the context in that the child occurs
(e.g., for x = e
, the expected type of e
is
the declared type of x
.
The expected type should impose the least constraints on the child's
type that are allowed by the parent node.
- Specified by:
childExpectedType
in interface Node
- Overrides:
childExpectedType
in class Node_c
visitChildren
public Node visitChildren(NodeVisitor v)
- Visit the children of the statement.
- Specified by:
visitChildren
in interface NodeOps
- Overrides:
visitChildren
in class Node_c
toString
public java.lang.String toString()
- Overrides:
toString
in class Node_c
prettyPrint
public void prettyPrint(CodeWriter w,
PrettyPrinter tr)
- Write the statement to an output file.
- Specified by:
prettyPrint
in interface NodeOps
- Overrides:
prettyPrint
in class Node_c
entry
public Term entry()
- Description copied from interface:
Term
- Return the first (sub)term performed when evaluating this
term.
- Specified by:
entry
in interface Term
- Specified by:
entry
in class Term_c
acceptCFG
public java.util.List acceptCFG(CFGBuilder v,
java.util.List succs)
- Description copied from interface:
Term
- Visit this node, calling calling v.edge() for each successor in succs,
if data flows on that edge.
- Specified by:
acceptCFG
in interface Term
- Specified by:
acceptCFG
in class Term_c