AST
node type CatchParameterDeclaration

General Info

Production
CatchParameterDeclaration : ASTNode ::= Modifiers TypeAccess:Access* <ID:String>;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.CatchParameterDeclaration
All Implemented Interfaces:
SimpleSet, Variable, java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator

Nested classes/interfaces inherited from interface AST.SimpleSet

Description

A catch parameter with disjunct exception type.
Source
Declared in Java7Frontend/MultiCatch.ast at line 19

Member Filters

API level:

Aspect:

Constructors

public CatchParameterDeclaration(Modifiers p0,
                                 List<Access> p1,
                                 java.lang.String p2)
 
public CatchParameterDeclaration(Modifiers p0,
                                 List<Access> p1,
                                 beaver.Symbol p2)
 

Attributes

syn boolean isParameter()
Specified by:isParameter in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 17
Aspect
MultiCatch
syn boolean isClassVariable()
Specified by:isClassVariable in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 20
Aspect
MultiCatch
syn boolean isInstanceVariable()
Specified by:isInstanceVariable in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 21
Aspect
MultiCatch
syn boolean isLocalVariable()
Specified by:isLocalVariable in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 25
Aspect
MultiCatch
syn boolean isFinal()
The catch parameter of a multi-catch clause is implicitly final.
Specified by:isFinal in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 34
Aspect
MultiCatch
syn boolean isVolatile()
Specified by:isVolatile in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 35
Aspect
MultiCatch
syn boolean isBlank()
Specified by:isBlank in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 36
Aspect
MultiCatch
syn boolean isStatic()
Specified by:isStatic in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 37
Aspect
MultiCatch
syn java.lang.String name()
Specified by:name in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 39
Aspect
MultiCatch
syn boolean hasInit()
Specified by:hasInit in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 41
Aspect
MultiCatch
syn Expr getInit()
Specified by:getInit in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 42
Aspect
MultiCatch
Specified by:constant in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 45
Aspect
MultiCatch
syn boolean isSynthetic()
Specified by:isSynthetic in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 50
Aspect
MultiCatch
Specified by:sourceVariableDecl in interface Variable
See Also:
"Generics.jrag"
Source
Declared in Java7Frontend/MultiCatch.jrag at line 55
Aspect
MultiCatch
syn int size()
Specified by:size in interface SimpleSet
Source
Declared in Java7Frontend/MultiCatch.jrag at line 61
Aspect
MultiCatch
syn boolean isEmpty()
Specified by:isEmpty in interface SimpleSet
Source
Declared in Java7Frontend/MultiCatch.jrag at line 62
Aspect
MultiCatch
syn boolean contains(java.lang.Object o)
Specified by:contains in interface SimpleSet
Source
Declared in Java7Frontend/MultiCatch.jrag at line 66
Aspect
MultiCatch
syn TypeDecl type()
A catch parameter declared with a disjunction type has the effective type lub(t1, t2, ...)
Specified by:type in interface Variable
See Also:
"JLSv3 §15.12.2.7"
Source
Declared in Java7Frontend/MultiCatch.jrag at line 173
Aspect
MultiCatch
syn java.util.Collection<TypeDecl> throwTypes()
Specified by:throwTypes in interface Variable
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 38
Aspect
PreciseRethrow
inh SimpleSet lookupVariable(java.lang.String name)
Inherit the lookupVariable attribute.
Source
Declared in Java7Frontend/MultiCatch.jrag at line 14
Aspect
MultiCatch
inh boolean isMethodParameter()
Specified by:isMethodParameter in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 22
Aspect
MultiCatch
inh boolean isConstructorParameter()
Specified by:isConstructorParameter in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 23
Aspect
MultiCatch
Specified by:isExceptionHandlerParameter in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 24
Aspect
MultiCatch
Specified by:hostType in interface Variable
Source
Declared in Java7Frontend/MultiCatch.jrag at line 49
Aspect
MultiCatch
inh LUBType lookupLUBType(java.util.Collection bounds)
Source
Declared in Java7Frontend/MultiCatch.jrag at line 165
Aspect
MultiCatch
Source
Declared in Java7Frontend/MultiCatch.jrag at line 180
Aspect
MultiCatch
Source
Declared in Java7Frontend/MultiCatch.jrag at line 181
Aspect
MultiCatch
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 128
Aspect
PreciseRethrow
inh int localNum()
Local number used to store the exception parameter.
Source
Declared in Java7Backend/MultiCatch.jrag at line 42
Aspect
MultiCatch

Methods

public void flushCache()
Overrides:flushCache in class ASTNode<ASTNode>
public void flushCollectionCache()
Overrides:flushCollectionCache in class ASTNode<ASTNode>
public CatchParameterDeclaration clone()
                                throws java.lang.CloneNotSupportedException
Overrides:clone in class ASTNode<ASTNode>
Throws:
java.lang.CloneNotSupportedException
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 SimpleSet add(java.lang.Object o)
Specified by:add in interface SimpleSet
Source
Declared in Java7Frontend/MultiCatch.jrag at line 63
Aspect
MultiCatch
public boolean isSingleton()
Specified by:isSingleton in interface SimpleSet
Source
Declared in Java7Frontend/MultiCatch.jrag at line 67
Aspect
MultiCatch
public boolean isSingleton(java.lang.Object o)
Specified by:isSingleton in interface SimpleSet
Source
Declared in Java7Frontend/MultiCatch.jrag at line 68
Aspect
MultiCatch
public java.util.Iterator iterator()
Specified by:iterator in interface SimpleSetSpecified by:iterator in interface java.lang.Iterable<ASTNode>Overrides:iterator in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 72
Aspect
MultiCatch
public boolean hasNext()
Specified by:hasNext in interface java.util.Iterator
Source
Declared in Java7Frontend/MultiCatch.jrag at line 73
Aspect
MultiCatch
public java.lang.Object next()
Specified by:next in interface java.util.Iterator
Source
Declared in Java7Frontend/MultiCatch.jrag at line 74
Aspect
MultiCatch
public void remove()
Specified by:remove in interface java.util.Iterator
Source
Declared in Java7Frontend/MultiCatch.jrag at line 75
Aspect
MultiCatch
public void typeCheck()
Type checking. The types given in a disjunction type may not be subtypes of each other.
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 109
Aspect
MultiCatch
public void toString(java.lang.StringBuffer sb)
Pretty printing of catch parameter declaration.
Overrides:toString in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 156
Aspect
MultiCatch
public void nameCheck()
Duplicate declaration checking for catch parameters.
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 186
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 ASTNode<ASTNode>
protected int numChildren()
Overrides:numChildren in class ASTNode<ASTNode>
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ASTNode<ASTNode>
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Specified by:getModifiers in interface Variable
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Returns:
The current node used as the Modifiers child.
public void setTypeAccessList(List<Access> list)
Replaces the TypeAccess list.
Parameters:
list - The new list node to be used as the TypeAccess list.
public int getNumTypeAccess()
Retrieves the number of children in the TypeAccess list.
Returns:
Number of children in the TypeAccess list.
Retrieves the number of children in the TypeAccess list. Calling this method will not trigger rewrites..
Returns:
Number of children in the TypeAccess list.
public Access getTypeAccess(int i)
Retrieves the element at index i in the TypeAccess list..
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the TypeAccess list.
public void addTypeAccess(Access node)
Append an element to the TypeAccess list.
Parameters:
node - The element to append to the TypeAccess list.
public void addTypeAccessNoTransform(Access node)
public void setTypeAccess(Access node,
                          int i)
Replaces the TypeAccess list element at index i with the new node node.
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the TypeAccess list.
Returns:
The node representing the TypeAccess list.
Retrieves the TypeAccess list.

This method does not invoke AST transformations.

Returns:
The node representing the TypeAccess list.
Retrieves the TypeAccess list.
Returns:
The node representing the TypeAccess list.
Retrieves the TypeAccess list.

This method does not invoke AST transformations.

Returns:
The node representing the TypeAccess list.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Parameters:
value - The new value for the lexeme ID.
public void setID(beaver.Symbol symbol)
JastAdd-internal setter for lexeme ID using the Beaver parser.
public java.lang.String getID()
Retrieves the value for the lexeme ID.
Returns:
The value for the lexeme ID.
Overrides:Define_NameType_nameType in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/MultiCatch.jrag at line 92
Overrides:rewriteTo in class ASTNode<ASTNode>

Fields

protected java.lang.String tokenString_ID
public int IDstart
public int IDend
protected boolean sourceVariableDecl_computed
protected boolean throwTypes_computed
protected java.util.Collection<TypeDecl> throwTypes_value
protected boolean localNum_computed
protected int localNum_value

Inherited Members

Attributes inherited from AST.ASTNode

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

Methods inherited from interface AST.SimpleSet

Fields inherited from AST.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value

Fields inherited from interface AST.SimpleSet