org.extendj.ast
node type CatchClause

General Info

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

Description

Abstract superclass for catch clauses.
Source
Declared in /home/jesper/git/extendj/java7/grammar/MultiCatch.ast at line 4

Member Filters

API level:

Aspect:

Constructors

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

Attributes

@ASTNodeAnnotation.Attribute
syn boolean handles(TypeDecl exceptionType)
Source
Declared in /home/jesper/git/extendj/java4/frontend/ExceptionHandling.jrag at line 259
Aspect
ExceptionHandling
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet parameterDeclaration(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 179
Aspect
VariableScope
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1800
Aspect
CreateBCode
@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 148
Aspect
PreciseRethrow
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 93
Aspect
SpecialClasses
@ASTNodeAnnotation.Attribute
inh org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 41
Aspect
VariableScope
Returns:
true if an exception of type exceptionType is catchable by the catch clause
Source
Declared in /home/jesper/git/extendj/java4/frontend/UnreachableStatements.jrag at line 185
Aspect
UnreachableStatements
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 37
Aspect
CreateBCode
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 221
Aspect
PreciseRethrow
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 283
Aspect
PreciseRethrow

Methods

public abstract void exceptionTableEntries(org.extendj.ast.CodeGeneration gen,
                                           int begin_lbl,
                                           int end_lbl)
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 39
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 ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 19
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 25
public void flushAttrCache()
Overrides:flushAttrCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 31
public void flushCollectionCache()
Overrides:flushCollectionCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 42
public void flushRewriteCache()
Overrides:flushRewriteCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 48
public CatchClause clone()
                  throws java.lang.CloneNotSupportedException
Overrides:clone in class ASTNode<ASTNode>
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 54
@Deprecated
public abstract CatchClause 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 ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 65
public abstract CatchClause 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 ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 73
public abstract CatchClause 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 ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 81
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 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)
Overrides:Define_catchClause in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 213
protected boolean canDefine_catchClause(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)
Overrides:rewriteTo in class ASTNode<ASTNode>
public org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)

Fields

protected java.util.Map parameterDeclaration_String_values
protected boolean label_computed
protected int label_value
protected boolean typeThrowable_computed
protected java.util.Map lookupVariable_String_values
protected java.util.Map reachableCatchClause_TypeDecl_values

Inherited Members

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

Fields inherited from beaver.Symbol

end
id
start
value