AST
node type MultiCatch

General Info

Production
MultiCatch : CatchClause ::= Parameter:CatchParameterDeclaration Block;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.CatchClause
              extended by AST.MultiCatch
All Implemented Interfaces:
VariableScope, java.lang.Cloneable, java.lang.Iterable<ASTNode>

Description

A catch clause that can catch a multiple exception types.
Source
Declared in Java7Frontend/MultiCatch.ast at line 14

Member Filters

API level:

Aspect:

Constructors

Attributes

syn SimpleSet parameterDeclaration(java.lang.String name)
Variable lookup in catch parameter scope.
Overrides:parameterDeclaration in class CatchClause
Source
Declared in Java7Frontend/MultiCatch.jrag at line 86
Aspect
MultiCatch
syn boolean handles(TypeDecl exceptionType)
Overrides:handles in class CatchClause
Source
Declared in Java1.4Frontend/ExceptionHandling.jrag at line 212
Aspect
ExceptionHandling
inh int localNum()
Source
Declared in Java7Backend/MultiCatch.jrag at line 43
Aspect
MultiCatch

Methods

public void flushCache()
Overrides:flushCache in class CatchClause
public void flushCollectionCache()
Overrides:flushCollectionCache in class CatchClause
public MultiCatch clone()
                 throws java.lang.CloneNotSupportedException
Overrides:clone in class CatchClause
Throws:
java.lang.CloneNotSupportedException
public MultiCatch 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 toString(java.lang.StringBuffer sb)
Pretty printing of multi-catch clause.
Overrides:toString in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 146
Aspect
MultiCatch
public void exceptionTableEntries(CodeGeneration gen,
                                  TryStmt tryStmt)
The Multi-Catch clause has two or more exception table entries which all point to the same exception handler.
Specified by:exceptionTableEntries in class CatchClause
Source
Declared in Java7Backend/MultiCatch.jrag at line 15
Aspect
MultiCatch
public void createBCode(CodeGeneration gen)
Code gen.
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in Java7Backend/MultiCatch.jrag at line 31
Aspect
MultiCatch
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class CatchClause
protected int numChildren()
Overrides:numChildren in class CatchClause
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class CatchClause
Replaces the Parameter child.
Parameters:
node - The new node to replace the Parameter child.
Retrieves the Parameter child.
Returns:
The current node used as the Parameter child.
Retrieves the Parameter child.

This method does not invoke AST transformations.

Returns:
The current node used as the Parameter child.
public void setBlock(Block node)
Replaces the Block child.
Overrides:setBlock in class CatchClause
Parameters:
node - The new node to replace the Block child.
public Block getBlock()
Retrieves the Block child.
Overrides:getBlock in class CatchClause
Returns:
The current node used as the Block child.
Retrieves the Block child.

This method does not invoke AST transformations.

Overrides:getBlockNoTransform in class CatchClause
Returns:
The current node used as the Block child.
public boolean Define_boolean_isMethodParameter(ASTNode caller,
                                                ASTNode child)
Overrides:Define_boolean_isMethodParameter in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 27
public boolean Define_boolean_isConstructorParameter(ASTNode caller,
                                                     ASTNode child)
Overrides:Define_boolean_isConstructorParameter in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 28
Overrides:Define_boolean_isExceptionHandlerParameter in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 29
public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller,
                                                 ASTNode child,
                                                 java.lang.String name)
Overrides:Define_SimpleSet_lookupVariable in class CatchClause
Source
Declared in Java7Frontend/MultiCatch.jrag at line 80
public boolean Define_boolean_reachable(ASTNode caller,
                                        ASTNode child)
Overrides:Define_boolean_reachable in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 128
public int Define_int_localNum(ASTNode caller,
                               ASTNode child)
Overrides:Define_int_localNum in class ASTNode<ASTNode>
Source
Declared in Java7Backend/MultiCatch.jrag at line 47
Overrides:rewriteTo in class CatchClause

Fields

protected java.util.Map parameterDeclaration_String_values
protected boolean localNum_computed
protected int localNum_value

Inherited Members

Attributes inherited from AST.CatchClause

Attributes inherited from AST.ASTNode

Methods inherited from class AST.CatchClause

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

Methods inherited from interface AST.VariableScope

Fields inherited from AST.CatchClause

Fields inherited from AST.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value