org.extendj.ast
node type BlockLambdaBody

General Info

Production
BlockLambdaBody : LambdaBody ::= Block;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.LambdaBody
              extended by org.extendj.ast.BlockLambdaBody
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

Source
Declared in /home/jesper/git/extendj/java8/grammar/Lambda.ast at line 12

Member Filters

API level:

Aspect:

Constructors

public BlockLambdaBody()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public BlockLambdaBody(Block p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13

Attributes

@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Specified by:modifiedInScope in class LambdaBody
Source
Declared in /home/jesper/git/extendj/java8/frontend/EffectivelyFinal.jrag at line 43
Aspect
PreciseRethrow
Specified by:isBlockBody in class LambdaBody
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaBody.jrag at line 29
Aspect
LambdaBody
Specified by:isExprBody in class LambdaBody
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaBody.jrag at line 30
Aspect
LambdaBody
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaBody.jrag at line 40
Aspect
ReturnCompatible
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaBody.jrag at line 41
Aspect
ReturnCompatible
@ASTNodeAnnotation.Attribute
syn boolean congruentTo(org.extendj.ast.FunctionDescriptor f)
Specified by:congruentTo in class LambdaBody
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaExpr.jrag at line 71
Aspect
LambdaExpr
Specified by:toBlock in class LambdaBody
Source
Declared in /home/jesper/git/extendj/java8/backend/LambdaToClass.jrag at line 68
Aspect
LambdaToClass
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaBody.jrag at line 47
Aspect
ReturnCompatible

Methods

public boolean noReturnsHasResult()
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaBody.jrag at line 57
Aspect
ReturnCompatible
public boolean allReturnsHasResult()
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaBody.jrag at line 67
Aspect
ReturnCompatible
public void prettyPrint(org.jastadd.util.PrettyPrinter out)
Specified by:prettyPrint in interface org.jastadd.util.PrettyPrintableOverrides:prettyPrint in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/PrettyPrint.jadd at line 51
Aspect
Java8PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TypeCheck.jrag at line 189
Aspect
TypeCheck
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class LambdaBody
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class LambdaBody
Source
Declared in /home/jesper/git/extendj/ASTNode at line 19
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class LambdaBody
Source
Declared in /home/jesper/git/extendj/ASTNode at line 25
public void flushAttrCache()
Overrides:flushAttrCache in class LambdaBody
Source
Declared in /home/jesper/git/extendj/ASTNode at line 31
public void flushCollectionCache()
Overrides:flushCollectionCache in class LambdaBody
Source
Declared in /home/jesper/git/extendj/ASTNode at line 43
public void flushRewriteCache()
Overrides:flushRewriteCache in class LambdaBody
Source
Declared in /home/jesper/git/extendj/ASTNode at line 52
public BlockLambdaBody clone()
                      throws java.lang.CloneNotSupportedException
Overrides:clone in class LambdaBody
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 58
public BlockLambdaBody copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 65
@Deprecated
public BlockLambdaBody fullCopy()
Deprecated. Please use treeCopy or treeCopyNoTransform instead

Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.

Specified by:fullCopy in class LambdaBody
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 84
public BlockLambdaBody treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Specified by:treeCopyNoTransform in class LambdaBody
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 94
public BlockLambdaBody treeCopy()
Create a deep copy of the AST subtree at this node. The subtree of this node is traversed to trigger rewrites before copy. The copy is dangling, i.e. has no parent.
Specified by:treeCopy in class LambdaBody
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 114
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 121
public void setBlock(Block node)
Replaces the Block child.
Parameters:
node - The new node to replace the Block child.
Retrieves the Block child.
Returns:
The current node used as the Block child.
Retrieves the Block child.

This method does not invoke AST transformations.

Returns:
The current node used as the Block child.
public boolean Define_assignmentContext(ASTNode caller,
                                        ASTNode child)
Overrides:Define_assignmentContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 196
protected boolean canDefine_assignmentContext(ASTNode caller,
                                              ASTNode child)
public boolean Define_invocationContext(ASTNode caller,
                                        ASTNode child)
Overrides:Define_invocationContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 197
protected boolean canDefine_invocationContext(ASTNode caller,
                                              ASTNode child)
public boolean Define_castContext(ASTNode caller,
                                  ASTNode child)
Overrides:Define_castContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 198
protected boolean canDefine_castContext(ASTNode caller,
                                        ASTNode child)
public boolean Define_stringContext(ASTNode caller,
                                    ASTNode child)
Overrides:Define_stringContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 199
protected boolean canDefine_stringContext(ASTNode caller,
                                          ASTNode child)
public boolean Define_numericContext(ASTNode caller,
                                     ASTNode child)
Overrides:Define_numericContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 200
protected boolean canDefine_numericContext(ASTNode caller,
                                           ASTNode child)
public TypeDecl Define_returnType(ASTNode caller,
                                  ASTNode child)
Overrides:Define_returnType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 472
protected boolean canDefine_returnType(ASTNode caller,
                                       ASTNode child)
public boolean Define_reachable(ASTNode caller,
                                ASTNode child)
Overrides:Define_reachable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/UnreachableStatements.jrag at line 52
protected boolean canDefine_reachable(ASTNode caller,
                                      ASTNode child)
Overrides:rewriteTo in class LambdaBody
public java.util.Collection BlockLambdaBody_lambdaReturns_contributors()
Returns:
the contributor set for lambdaReturns

Fields

protected boolean isBlockBody_computed
protected boolean isBlockBody_value
protected boolean isExprBody_computed
protected boolean isExprBody_value
protected boolean voidCompatible_computed
protected boolean voidCompatible_value
protected boolean valueCompatible_computed
protected boolean valueCompatible_value
protected boolean toBlock_computed
protected java.util.ArrayList<ReturnStmt> BlockLambdaBody_lambdaReturns_value

Inherited Members

Attributes inherited from org.extendj.ast.LambdaBody

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.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 org.extendj.ast.LambdaBody

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value