AST
node type ReturnStmt

General Info

Production
ReturnStmt : Stmt ::= [Result:Expr];
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.Stmt
              extended by AST.ReturnStmt
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>

Description

Source
Declared in Java1.4Frontend/java.ast at line 214

Member Filters

API level:

Aspect:

Constructors

public ReturnStmt(Expr expr)
 
Source
Declared in Java1.4Frontend/NodeConstructors.jrag at line 62
Aspect
NodeConstructors
public ReturnStmt()
 
public ReturnStmt(Opt<Expr> p0)
 

Attributes

syn java.util.ArrayList finallyList()
Source
Declared in Java1.4Frontend/BranchTarget.jrag at line 185
Aspect
BranchTarget
syn boolean isDAafter(Variable v)
Overrides:isDAafter in class Stmt
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 649
Aspect
DA
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 942
Aspect
DU
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 978
Aspect
DU
syn boolean isDUafter(Variable v)
Overrides:isDUafter in class Stmt
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 1172
Aspect
DU
syn boolean canCompleteNormally()
Overrides:canCompleteNormally in class Stmt
Source
Declared in Java1.4Frontend/UnreachableStatements.jrag at line 107
Aspect
UnreachableStatements
syn int sourceLineNumber()
Overrides:sourceLineNumber in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/CodeGeneration.jrag at line 15
Aspect
CodeGeneration
syn boolean modifiedInScope(Variable var)
Specified by:modifiedInScope in class Stmt
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 55
Aspect
PreciseRethrow
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 403
Aspect
TypeCheck
Source
Declared in Java1.4Backend/LocalNum.jrag at line 44
Aspect
LocalNum

Methods

public void flushCache()
Overrides:flushCache in class Stmt
public void flushCollectionCache()
Overrides:flushCollectionCache in class Stmt
public ReturnStmt clone()
                 throws java.lang.CloneNotSupportedException
Overrides:clone in class Stmt
Throws:
java.lang.CloneNotSupportedException
public ReturnStmt copy()
Overrides:copy in class ASTNode<ASTNode>
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:fullCopy in class ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
public void collectBranches(java.util.Collection c)
Overrides:collectBranches in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/BranchTarget.jrag at line 54
Aspect
BranchTarget
public void toString(java.lang.StringBuffer s)
Overrides:toString in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/PrettyPrint.jadd at line 683
Aspect
PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 408
Aspect
TypeCheck
public void createBCode(CodeGeneration gen)
Overrides:createBCode in class Stmt
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1435
Aspect
CreateBCode
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Stmt
protected int numChildren()
Overrides:numChildren in class Stmt
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Stmt
public void setResultOpt(Opt<Expr> opt)
Replaces the optional node for the Result child. This is the Opt node containing the child Result, not the actual child!
Parameters:
opt - The new node to be used as the optional node for the Result child.
public boolean hasResult()
Check whether the optional Result child exists.
Returns:
true if the optional Result child exists, false if it does not.
public Expr getResult()
Retrieves the (optional) Result child.
Returns:
The Result child, if it exists. Returns null otherwise.
public void setResult(Expr node)
Replaces the (optional) Result child.
Parameters:
node - The new node to be used as the Result child.
Retrieves the optional node for child Result. This is the Opt node containing the child Result, not the actual child!

This method does not invoke AST transformations.

Returns:
The optional node for child Result.
public boolean Define_boolean_isDAbefore(ASTNode caller,
                                         ASTNode child,
                                         Variable v)
Overrides:Define_boolean_isDAbefore in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 652
public boolean Define_boolean_isDUbefore(ASTNode caller,
                                         ASTNode child,
                                         Variable v)
Overrides:Define_boolean_isDUbefore in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 1175
Overrides:Define_TypeDecl_assignConvertedType in class ASTNode<ASTNode>
Source
Declared in Java1.5Frontend/GenericMethodsInference.jrag at line 38
Overrides:rewriteTo in class Stmt

Fields

protected boolean finallyList_computed
protected java.util.ArrayList finallyList_value
protected java.util.Map isDAafter_Variable_values
protected java.util.Map isDUafter_Variable_values
protected boolean canCompleteNormally_value
protected boolean resultSaveLocalNum_computed

Inherited Members

Attributes inherited from AST.Stmt

Attributes inherited from AST.ASTNode

Methods inherited from class AST.Stmt

Methods inherited from class AST.ASTNode

Methods inherited from class beaver.Symbol

getColumn
getEnd
getId
getLine
getStart
makePosition

Methods inherited from class java.lang.Object

equals
finalize
getClass
hashCode
notify
notifyAll
wait
wait
wait

Fields inherited from AST.Stmt

Fields inherited from AST.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value