org.extendj.ast
node type Block

General Info

Production
Block : Stmt ::= Stmt*;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.Stmt
              extended by org.extendj.ast.Block
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
MonitorExit, NTAFinallyBlock

Description

Source
Declared in /home/jesper/git/extendj/java4/grammar/Java.ast at line 193

Member Filters

API level:

Aspect:

Constructors

public Block()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public Block(List<Stmt> p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 14

Attributes

Source
Declared in /home/jesper/git/extendj/java4/frontend/DeclareBeforeUse.jrag at line 38
Aspect
DeclareBeforeUse
@ASTNodeAnnotation.Attribute
syn boolean checkReturnDA(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 339
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDAafter(org.extendj.ast.Variable v)
Overrides:isDAafter in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 257
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDUeverywhere(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 492
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean checkReturnDU(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 858
Aspect
DU
@ASTNodeAnnotation.Attribute
syn boolean isDUafter(org.extendj.ast.Variable v)
Overrides:isDUafter in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 781
Aspect
DU
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 185
Aspect
VariableScope
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrintUtil.jrag at line 219
Aspect
PrettyPrintUtil
Overrides:canCompleteNormally in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/UnreachableStatements.jrag at line 53
Aspect
UnreachableStatements
@ASTNodeAnnotation.Attribute
syn int variableScopeEndLabel(org.extendj.ast.CodeGeneration gen)
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 68
Aspect
CodeGeneration
@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Specified by:modifiedInScope in class Stmt
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 84
Aspect
PreciseRethrow
@ASTNodeAnnotation.Attribute
inh org.extendj.ast.SimpleSet lookupType(java.lang.String name)
Overrides:lookupType in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 340
Aspect
TypeScopePropagation
@ASTNodeAnnotation.Attribute
inh org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)
Overrides:lookupVariable in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 38
Aspect
VariableScope
@ASTNodeAnnotation.Attribute
inh org.extendj.ast.SimpleSet otherLocalClassDecls(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 525
Aspect
NameCheck
Overrides:reachable in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/UnreachableStatements.jrag at line 52
Aspect
UnreachableStatements

Methods

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/java4/frontend/PrettyPrint.jadd at line 455
Aspect
Java4PrettyPrint
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1363
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
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 20
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26
public void flushAttrCache()
Overrides:flushAttrCache in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushCollectionCache()
Overrides:flushCollectionCache in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 47
public void flushRewriteCache()
Overrides:flushRewriteCache in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 53
public Block clone()
            throws java.lang.CloneNotSupportedException
Overrides:clone in class Stmt
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 59
public Block copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 66
@Deprecated
public Block 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 Stmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 85
public Block 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 Stmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 95
public Block 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 Stmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 115
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 122
public void setStmtList(List<Stmt> list)
Replaces the Stmt list.
Parameters:
list - The new list node to be used as the Stmt list.
public int getNumStmt()
Retrieves the number of children in the Stmt list.
Returns:
Number of children in the Stmt list.
Retrieves the number of children in the Stmt list. Calling this method will not trigger rewrites.
Returns:
Number of children in the Stmt list.
public Stmt getStmt(int i)
Retrieves the element at index i in the Stmt list.
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Stmt list.
public boolean hasStmt()
Check whether the Stmt list has any children.
Returns:
true if it has at least one child, false otherwise.
public void addStmt(Stmt node)
Append an element to the Stmt list.
Parameters:
node - The element to append to the Stmt list.
public void addStmtNoTransform(Stmt node)
public void setStmt(Stmt node,
                    int i)
Replaces the Stmt list element at index i with the new node node.
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the Stmt list.
Returns:
The node representing the Stmt list.
Retrieves the Stmt list.

This method does not invoke AST transformations.

Returns:
The node representing the Stmt list.
public List<Stmt> getStmts()
Retrieves the Stmt list.
Returns:
The node representing the Stmt list.
Retrieves the Stmt list.

This method does not invoke AST transformations.

Returns:
The node representing the Stmt list.
public int Define_blockIndex(ASTNode caller,
                             ASTNode child)
Overrides:Define_blockIndex in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DeclareBeforeUse.jrag at line 34
protected boolean canDefine_blockIndex(ASTNode caller,
                                       ASTNode child)
public boolean Define_isIncOrDec(ASTNode caller,
                                 ASTNode child)
Overrides:Define_isIncOrDec in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 71
protected boolean canDefine_isIncOrDec(ASTNode caller,
                                       ASTNode child)
public boolean Define_isDAbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDAbefore in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 255
protected boolean canDefine_isDAbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
public boolean Define_isDUbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDUbefore in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 779
protected boolean canDefine_isDUbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
public org.extendj.ast.SimpleSet Define_lookupType(ASTNode caller,
                                                   ASTNode child,
                                                   java.lang.String name)
Overrides:Define_lookupType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 197
protected boolean canDefine_lookupType(ASTNode caller,
                                       ASTNode child,
                                       java.lang.String name)
public org.extendj.ast.SimpleSet Define_lookupVariable(ASTNode caller,
                                                       ASTNode child,
                                                       java.lang.String name)
Overrides:Define_lookupVariable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/LookupVariable.jrag at line 30
protected boolean canDefine_lookupVariable(ASTNode caller,
                                           ASTNode child,
                                           java.lang.String name)
public org.extendj.ast.VariableScope Define_outerScope(ASTNode caller,
                                                       ASTNode child)
Overrides:Define_outerScope in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/NameCheck.jrag at line 30
protected boolean canDefine_outerScope(ASTNode caller,
                                       ASTNode child)
public org.extendj.ast.SimpleSet Define_otherLocalClassDecls(ASTNode caller,
                                                             ASTNode child,
                                                             java.lang.String name)
Overrides:Define_otherLocalClassDecls in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 524
protected boolean canDefine_otherLocalClassDecls(ASTNode caller,
                                                 ASTNode child,
                                                 java.lang.String name)
public org.extendj.ast.NameType Define_nameType(ASTNode caller,
                                                ASTNode child)
Overrides:Define_nameType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/SyntacticClassification.jrag at line 36
protected boolean canDefine_nameType(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)
public boolean Define_reportUnreachable(ASTNode caller,
                                        ASTNode child)
Overrides:Define_reportUnreachable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 283
protected boolean canDefine_reportUnreachable(ASTNode caller,
                                              ASTNode child)
public int Define_variableScopeEndLabel(ASTNode caller,
                                        ASTNode child,
                                        org.extendj.ast.CodeGeneration gen)
Overrides:Define_variableScopeEndLabel in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 67
protected boolean canDefine_variableScopeEndLabel(ASTNode caller,
                                                  ASTNode child,
                                                  org.extendj.ast.CodeGeneration gen)
public int Define_localNum(ASTNode caller,
                           ASTNode child)
Overrides:Define_localNum in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/backend/MultiCatch.jrag at line 64
protected boolean canDefine_localNum(ASTNode caller,
                                     ASTNode child)
public boolean Define_inhModifiedInScope(ASTNode caller,
                                         ASTNode child,
                                         org.extendj.ast.Variable var)
Overrides:Define_inhModifiedInScope in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/EffectivelyFinal.jrag at line 30
protected boolean canDefine_inhModifiedInScope(ASTNode caller,
                                               ASTNode child,
                                               org.extendj.ast.Variable var)
Overrides:rewriteTo in class Stmt
public org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)

Fields

protected java.util.Map checkReturnDA_Variable_values
protected java.util.Map isDAafter_Variable_values
protected java.util.Map checkReturnDU_Variable_values
protected java.util.Map isDUafter_Variable_values
protected boolean canCompleteNormally_value
protected java.util.Map lookupType_String_values
protected java.util.Map lookupVariable_String_values

Inherited Members

Attributes inherited from org.extendj.ast.Stmt

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.Stmt

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.Stmt

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value