org.extendj.ast
node type BasicCatch

General Info

Production
BasicCatch : CatchClause ::= Parameter:ParameterDeclaration 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.BasicCatch
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

A catch clause that can catch a single exception type.
Source
Declared in /home/jesper/git/extendj/java7/grammar/MultiCatch.ast at line 9

Member Filters

API level:

Aspect:

Constructors

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

Attributes

@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
@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

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 35
Aspect
Java4PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 431
Aspect
TypeCheck
public void exceptionTableEntries(org.extendj.ast.CodeGeneration gen,
                                  int begin_lbl,
                                  int end_lbl)
Specified by:exceptionTableEntries in class CatchClause
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 41
Aspect
CreateBCode
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1801
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 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 39
public void flushRewriteCache()
Overrides:flushRewriteCache in class CatchClause
Source
Declared in /home/jesper/git/extendj/ASTNode at line 45
public BasicCatch clone()
                 throws java.lang.CloneNotSupportedException
Overrides:clone in class CatchClause
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 51
public BasicCatch copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 58
@Deprecated
public BasicCatch 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 77
public BasicCatch 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 87
public BasicCatch 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 107
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 114
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 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 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.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_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 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_variableArityValid(ASTNode caller,
                                         ASTNode child)
Overrides:Define_variableArityValid in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/VariableArityParameters.jrag at line 48
protected boolean canDefine_variableArityValid(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)
public boolean Define_isCatchParam(ASTNode caller,
                                   ASTNode child)
Overrides:Define_isCatchParam in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 206
protected boolean canDefine_isCatchParam(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

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