|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.Return_c
public class 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 |
---|
exceptions, 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 term in evaluation order. |
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 |
---|
exceptionCheck, exceptions, exceptions, 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, 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 |
---|
exceptions, exceptions, 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
v
- The visitor that will traverse/rewrite the AST.
this
.public Node typeCheck(TypeChecker tc) throws SemanticException
typeCheck
in interface NodeOps
typeCheck
in class Node_c
tc
- The type checking visitor.
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
child
- A child expression of this node.av
- An ascription visitor.
child
.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
w
- The code writer to which to write.tr
- The pretty printer. This is not a visitor.public Term entry()
Term_c
entry
in interface Term
entry
in class Term_c
public java.util.List acceptCFG(CFGBuilder v, java.util.List succs)
Term_c
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 |