org.extendj.ast
node type NTAFinallyBlock

General Info

Production
NTAFinallyBlock : Block;
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
                  extended by org.extendj.ast.NTAFinallyBlock
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

This node only exists to distinguish NTA-finally blocks from regular, non-NTA, blocks. This is required to avoid an endlessly recursive AST.
Source
Declared in /home/jesper/git/extendj/java4/grammar/NTAFinally.ast at line 6

Member Filters

API level:

Aspect:

Constructors

public NTAFinallyBlock(org.extendj.ast.FinallyHost finallyHost)
 
Source
Declared in /home/jesper/git/extendj/java4/frontend/NTAFinally.jrag at line 93
Aspect
NTAFinally
public NTAFinallyBlock()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public NTAFinallyBlock(List<Stmt> p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 14

Methods

public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Block
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class Block
Source
Declared in /home/jesper/git/extendj/ASTNode at line 20
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Block
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26
public void flushAttrCache()
Overrides:flushAttrCache in class Block
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushCollectionCache()
Overrides:flushCollectionCache in class Block
Source
Declared in /home/jesper/git/extendj/ASTNode at line 38
public void flushRewriteCache()
Overrides:flushRewriteCache in class Block
Source
Declared in /home/jesper/git/extendj/ASTNode at line 44
public NTAFinallyBlock clone()
                      throws java.lang.CloneNotSupportedException
Overrides:clone in class Block
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 50
public NTAFinallyBlock copy()
Overrides:copy in class Block
Source
Declared in /home/jesper/git/extendj/ASTNode at line 57
@Deprecated
public NTAFinallyBlock 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.

Overrides:fullCopy in class Block
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 76
public NTAFinallyBlock treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:treeCopyNoTransform in class Block
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 86
public NTAFinallyBlock 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.
Overrides:treeCopy in class Block
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 106
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class Block
Source
Declared in /home/jesper/git/extendj/ASTNode at line 113
public void setStmtList(List<Stmt> list)
Replaces the Stmt list.
Overrides:setStmtList in class Block
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.
Overrides:getNumStmt in class Block
Returns:
Number of children in the Stmt list.
Retrieves the number of children in the Stmt list. Calling this method will not trigger rewrites.
Overrides:getNumStmtNoTransform in class Block
Returns:
Number of children in the Stmt list.
public Stmt getStmt(int i)
Retrieves the element at index i in the Stmt list.
Overrides:getStmt in class Block
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.
Overrides:hasStmt in class Block
Returns:
true if it has at least one child, false otherwise.
public void addStmt(Stmt node)
Append an element to the Stmt list.
Overrides:addStmt in class Block
Parameters:
node - The element to append to the Stmt list.
public void addStmtNoTransform(Stmt node)
Overrides:addStmtNoTransform in class Block
public void setStmt(Stmt node,
                    int i)
Replaces the Stmt list element at index i with the new node node.
Overrides:setStmt in class Block
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.
Overrides:getStmtList in class Block
Returns:
The node representing the Stmt list.
Retrieves the Stmt list.

This method does not invoke AST transformations.

Overrides:getStmtListNoTransform in class Block
Returns:
The node representing the Stmt list.
public List<Stmt> getStmts()
Retrieves the Stmt list.
Overrides:getStmts in class Block
Returns:
The node representing the Stmt list.
Retrieves the Stmt list.

This method does not invoke AST transformations.

Overrides:getStmtsNoTransform in class Block
Returns:
The node representing the Stmt list.
public org.extendj.ast.FinallyHost Define_enclosingFinally(ASTNode caller,
                                                           ASTNode child,
                                                           Stmt branch)
Overrides:Define_enclosingFinally in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/BranchTarget.jrag at line 262
protected boolean canDefine_enclosingFinally(ASTNode caller,
                                             ASTNode child,
                                             Stmt branch)
Overrides:rewriteTo in class Block
public org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)

Inherited Members

Attributes inherited from org.extendj.ast.Block

Attributes inherited from org.extendj.ast.Stmt

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.Block

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

Fields inherited from org.extendj.ast.Stmt

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value