|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectpolyglot.ext.jl.ast.Node_c
polyglot.ext.jl.ast.Term_c
polyglot.ext.jl.ast.Stmt_c
polyglot.ext.jl.ast.Return_c
A Return
represents a return
statement in Java.
It may or may not return a value. If not expr()
should return
null.
Field Summary | |
protected Expr |
expr
|
Fields inherited from class polyglot.ext.jl.ast.Term_c |
reachable |
Fields inherited from class polyglot.ext.jl.ast.Node_c |
del, ext, position |
Constructor Summary | |
Return_c(Position pos,
Expr expr)
|
Method Summary | |
java.util.List |
acceptCFG(CFGBuilder v,
java.util.List succs)
Visit this node, calling calling v.edge() for each successor in succs, if data flows on that edge. |
Type |
childExpectedType(Expr child,
AscriptionVisitor av)
Get the expected type of a child expression of this . |
Term |
entry()
Return the first (sub)term performed when evaluating this term. |
Expr |
expr()
Get the expression to return, or null. |
Return |
expr(Expr expr)
Set the expression to return, or null. |
void |
prettyPrint(CodeWriter w,
PrettyPrinter tr)
Write the statement to an output file. |
protected Return_c |
reconstruct(Expr expr)
Reconstruct the statement. |
java.lang.String |
toString()
|
Node |
typeCheck(TypeChecker tc)
Type check the statement. |
Node |
visitChildren(NodeVisitor v)
Visit the children of the statement. |
Methods inherited from class polyglot.ext.jl.ast.Term_c |
listEntry, reachable, reachable |
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, 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.Term |
reachable, reachable |
Methods inherited from interface polyglot.ast.Node |
del, del, dump, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList |
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, typeCheckEnter |
Methods inherited from interface polyglot.util.Copy |
copy |
Field Detail |
protected Expr expr
Constructor Detail |
public Return_c(Position pos, Expr expr)
Method Detail |
public Expr expr()
expr
in interface Return
public Return expr(Expr expr)
expr
in interface Return
protected Return_c reconstruct(Expr expr)
public Node visitChildren(NodeVisitor v)
visitChildren
in interface NodeOps
visitChildren
in class Node_c
public Node typeCheck(TypeChecker tc) throws SemanticException
typeCheck
in interface NodeOps
typeCheck
in class Node_c
SemanticException
public Type childExpectedType(Expr child, AscriptionVisitor av)
Node
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.
childExpectedType
in interface Node
childExpectedType
in class Node_c
public java.lang.String toString()
toString
in class Node_c
public void prettyPrint(CodeWriter w, PrettyPrinter tr)
prettyPrint
in interface NodeOps
prettyPrint
in class Node_c
public Term entry()
Term
entry
in interface Term
entry
in class Term_c
public java.util.List acceptCFG(CFGBuilder v, java.util.List succs)
Term
acceptCFG
in interface Term
acceptCFG
in class Term_c
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |