org.extendj.ast
node type ParameterDeclaration

General Info

Production
ParameterDeclaration : ASTNode ::= Modifiers TypeAccess:Access <ID:String>;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.ParameterDeclaration
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
ParameterDeclarationSubstituted, VariableArityParameterDeclaration
static class SimpleSet.SimpleSetImpl
           

Description

A parameter declaration as used in either method parameter lists or as a catch clause parameter.
Source
Declared in /home/jesper/git/extendj/java4/grammar/Java.ast at line 88

Member Filters

API level:

Aspect:

Constructors

public ParameterDeclaration(Access type,
                            java.lang.String name)
 
Source
Declared in /home/jesper/git/extendj/java4/frontend/NodeConstructors.jrag at line 32
Aspect
NodeConstructors
public ParameterDeclaration(TypeDecl type,
                            java.lang.String name)
 
Source
Declared in /home/jesper/git/extendj/java4/frontend/NodeConstructors.jrag at line 35
Aspect
NodeConstructors
public ParameterDeclaration()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public ParameterDeclaration(Modifiers p0,
                            Access p1,
                            java.lang.String p2)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13
public ParameterDeclaration(Modifiers p0,
                            Access p1,
                            beaver.Symbol p2)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 18

Attributes

Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 139
Aspect
DataStructures
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 140
Aspect
DataStructures
@ASTNodeAnnotation.Attribute
syn boolean contains(java.lang.Object o)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 144
Aspect
DataStructures
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 261
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrintUtil.jrag at line 253
Aspect
PrettyPrintUtil
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 277
Aspect
TypeAnalysis
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 68
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 71
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 72
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 76
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 94
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 95
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 96
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 97
Aspect
Variables
@ASTNodeAnnotation.Attribute
syn java.lang.String name()
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 99
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 101
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 102
Aspect
Variables
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Constant constant()
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 103
Aspect
Variables
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Variable sourceVariableDecl()
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1637
Aspect
SourceDeclarations
Source
Declared in /home/jesper/git/extendj/java5/frontend/VariableArityParameters.jrag at line 57
Aspect
VariableArityParameters
@ASTNodeAnnotation.Attribute
syn ParameterDeclaration substituted(java.util.Collection<TypeVariable> original,
                                                             List<TypeVariable> substitution)
Builds a copy of this ParameterDeclaration node where all occurrences of type variables in the original type parameter list have been replaced by the substitution type parameters.
Returns:
the substituted ParameterDeclaration node
Source
Declared in /home/jesper/git/extendj/java7/frontend/Diamond.jrag at line 347
Aspect
Diamond
@ASTNodeAnnotation.Attribute
syn java.util.Collection<TypeDecl> throwTypes()
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 53
Aspect
PreciseRethrow
Note: this attribute deviates from what the JLS says about "effectively final", simply because the attribute name would be too confusing if it did not return true when the variable was explicitly declared final. The JLS considers declared final and effectively final to be mutually exclusive, we don't.
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 71
Aspect
PreciseRethrow
Source
Declared in /home/jesper/git/extendj/java8/frontend/MethodReference.jrag at line 106
Aspect
MethodReference
@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 43
Aspect
VariableScope
@ASTNodeAnnotation.Attribute
inh org.extendj.ast.VariableScope outerScope()
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 364
Aspect
NameCheck
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 429
Aspect
NameCheck
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 641
Aspect
NestedTypes
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 73
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 74
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/frontend/VariableDeclaration.jrag at line 75
Aspect
Variables
Source
Declared in /home/jesper/git/extendj/java4/backend/LocalNum.jrag at line 65
Aspect
LocalNum
@ASTNodeAnnotation.Attribute
inh boolean inhModifiedInScope(org.extendj.ast.Variable var)
Returns:
true if the variable var is modified in the local scope
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 76
Aspect
PreciseRethrow
Returns:
true if this is the parameter declaration of a catch clause
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 206
Aspect
PreciseRethrow
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 212
Aspect
PreciseRethrow
Source
Declared in /home/jesper/git/extendj/java8/frontend/EnclosingLambda.jrag at line 34
Aspect
EnclosingLambda

Methods

public org.extendj.ast.SimpleSet add(java.lang.Object o)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 141
Aspect
DataStructures
public boolean isSingleton()
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 145
Aspect
DataStructures
public boolean isSingleton(java.lang.Object o)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 146
Aspect
DataStructures
public java.util.Iterator iterator()
Specified by:iterator in interface java.lang.Iterable<ASTNode>Overrides:iterator in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 150
Aspect
DataStructures
public boolean hasNext()
Specified by:hasNext in interface java.util.Iterator
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 151
Aspect
DataStructures
public java.lang.Object next()
Specified by:next in interface java.util.Iterator
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 152
Aspect
DataStructures
public void remove()
Specified by:remove in interface java.util.Iterator
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 153
Aspect
DataStructures
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 413
Aspect
Java4PrettyPrint
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 26
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushAttrCache()
Overrides:flushAttrCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 38
public void flushCollectionCache()
Overrides:flushCollectionCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 50
public void flushRewriteCache()
Overrides:flushRewriteCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 56
public ParameterDeclaration 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 62
public ParameterDeclaration copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 69
@Deprecated
public ParameterDeclaration 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 88
public ParameterDeclaration 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 98
public ParameterDeclaration 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 118
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 125
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
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 setTypeAccess(Access node)
Replaces the TypeAccess child.
Parameters:
node - The new node to replace the TypeAccess child.
Retrieves the TypeAccess child.
Returns:
The current node used as the TypeAccess child.
Retrieves the TypeAccess child.

This method does not invoke AST transformations.

Returns:
The current node used as the TypeAccess child.
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.
Parameters:
symbol - Symbol containing the new value for the lexeme ID
@ASTNodeAnnotation.Token(name="ID")
public java.lang.String getID()
Retrieves the value for the lexeme ID.
Returns:
The value for the lexeme ID.
Source
Declared in /home/jesper/git/extendj/java7/frontend/MultiCatch.jrag at line 216
Aspect
MultiCatch
public void nameCheck()
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/NameCheck.jrag at line 105
Aspect
Java8NameCheck
public boolean Define_mayBeFinal(ASTNode caller,
                                 ASTNode child)
Overrides:Define_mayBeFinal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 423
protected boolean canDefine_mayBeFinal(ASTNode caller,
                                       ASTNode child)
public boolean Define_mayUseAnnotationTarget(ASTNode caller,
                                             ASTNode child,
                                             java.lang.String name)
Overrides:Define_mayUseAnnotationTarget in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 96
protected boolean canDefine_mayUseAnnotationTarget(ASTNode caller,
                                                   ASTNode child,
                                                   java.lang.String name)
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)
Overrides:rewriteTo in class ASTNode<ASTNode>
public int size()
public boolean isEmpty()
public boolean contains(java.lang.Object o)
public java.lang.String name()
public TypeDecl type()
public java.util.Collection<TypeDecl> throwTypes()
public boolean isParameter()
public boolean isClassVariable()
public boolean isInstanceVariable()
public boolean isMethodParameter()
public boolean isConstructorParameter()
public boolean isLocalVariable()
public boolean isFinal()
public boolean isVolatile()
public boolean isEffectivelyFinal()
public boolean isBlank()
public boolean isStatic()
public boolean isSynthetic()
public Expr getInit()
public boolean hasInit()
public org.extendj.ast.Constant constant()

Fields

protected java.lang.String tokenString_ID
public int IDstart
public int IDend
protected boolean type_computed
protected boolean sourceVariableDecl_computed
protected org.extendj.ast.Variable sourceVariableDecl_value
protected boolean throwTypes_computed
protected java.util.Collection<TypeDecl> throwTypes_value
protected boolean localNum_computed
protected int localNum_value
protected boolean enclosingLambda_computed
public static final org.extendj.ast.SimpleSet emptySet
public static final org.extendj.ast.SimpleSet fullSet

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