org.extendj.ast
node type MultiCatch

General Info

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

Description

A catch clause that can catch a multiple exception types.
Source
Declared in /home/jesper/git/extendj/java7/grammar/MultiCatch.ast at line 14

Member Filters

API level:

Aspect:

Constructors

public MultiCatch()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public MultiCatch(CatchParameterDeclaration p0,
                  Block p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13

Attributes

@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet parameterDeclaration(java.lang.String name)
Overrides:parameterDeclaration in class CatchClause
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 179
Aspect
VariableScope
@ASTNodeAnnotation.Attribute
syn boolean handles(TypeDecl exceptionType)
Overrides:handles in class CatchClause
Source
Declared in /home/jesper/git/extendj/java4/frontend/ExceptionHandling.jrag at line 259
Aspect
ExceptionHandling
Source
Declared in /home/jesper/git/extendj/java7/backend/MultiCatch.jrag at line 65
Aspect
MultiCatch

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/java7/frontend/PrettyPrint.jadd at line 75
Aspect
Java7PrettyPrint
public void exceptionTableEntries(org.extendj.ast.CodeGeneration gen,
                                  int begin_lbl,
                                  int end_lbl)
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 /home/jesper/git/extendj/java7/backend/MultiCatch.jrag at line 37
Aspect
MultiCatch
public void createBCode(org.extendj.ast.CodeGeneration gen)
Code gen.
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/backend/MultiCatch.jrag at line 53
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
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class CatchClause
Source
Declared in /home/jesper/git/extendj/ASTNode at line 20
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class CatchClause
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26
public void flushAttrCache()
Overrides:flushAttrCache in class CatchClause
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushCollectionCache()
Overrides:flushCollectionCache in class CatchClause
Source
Declared in /home/jesper/git/extendj/ASTNode at line 40
public void flushRewriteCache()
Overrides:flushRewriteCache in class CatchClause
Source
Declared in /home/jesper/git/extendj/ASTNode at line 46
public MultiCatch clone()
                 throws java.lang.CloneNotSupportedException
Overrides:clone in class CatchClause
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 52
public MultiCatch copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 59
@Deprecated
public MultiCatch 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 CatchClause
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 78
public MultiCatch 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 CatchClause
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 88
public MultiCatch 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 CatchClause
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 108
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 115
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.
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_isMethodParameter(ASTNode caller,
                                        ASTNode child)
Overrides:Define_isMethodParameter in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/MultiCatch.jrag at line 44
protected boolean canDefine_isMethodParameter(ASTNode caller,
                                              ASTNode child)
public boolean Define_isConstructorParameter(ASTNode caller,
                                             ASTNode child)
Overrides:Define_isConstructorParameter in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/MultiCatch.jrag at line 45
protected boolean canDefine_isConstructorParameter(ASTNode caller,
                                                   ASTNode child)
public boolean Define_isExceptionHandlerParameter(ASTNode caller,
                                                  ASTNode child)
Overrides:Define_isExceptionHandlerParameter in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/MultiCatch.jrag at line 46
protected boolean canDefine_isExceptionHandlerParameter(ASTNode caller,
                                                        ASTNode child)
public org.extendj.ast.SimpleSet Define_lookupVariable(ASTNode caller,
                                                       ASTNode child,
                                                       java.lang.String name)
Overrides:Define_lookupVariable in class CatchClause
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 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 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)
Overrides:rewriteTo in class CatchClause
public org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)

Fields

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

Inherited Members

Attributes inherited from org.extendj.ast.CatchClause

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.CatchClause

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

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value