org.extendj.ast
node type GenericConstructorDecl

General Info

Production
GenericConstructorDecl : ConstructorDecl ::= TypeParameter:TypeVariable*;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.BodyDecl
              extended by org.extendj.ast.ConstructorDecl
                  extended by org.extendj.ast.GenericConstructorDecl
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

Source
Declared in /home/jesper/git/extendj/java5/grammar/GenericMethods.ast at line 4

Member Filters

API level:

Aspect:

Constructors

public GenericConstructorDecl()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public GenericConstructorDecl(Modifiers p0,
                              java.lang.String p1,
                              List<ParameterDeclaration> p2,
                              List<Access> p3,
                              Opt<Stmt> p4,
                              Block p5,
                              List<TypeVariable> p6)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 17
public GenericConstructorDecl(Modifiers p0,
                              beaver.Symbol p1,
                              List<ParameterDeclaration> p2,
                              List<Access> p3,
                              Opt<Stmt> p4,
                              Block p5,
                              List<TypeVariable> p6)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26

Attributes

Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 86
Aspect
GenericMethods
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet localLookupType(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 198
Aspect
GenericMethodsNameAnalysis
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1385
Aspect
LookupParTypeDecl
Overrides:isGeneric in class BodyDecl
Returns:
true if this is a generic method or constructor, or a substitued generic method or constructor.
Source
Declared in /home/jesper/git/extendj/java5/frontend/MethodSignature.jrag at line 375
Aspect
MethodSignature15
Note: isGeneric must be called first to check if this declaration is generic. Otherwise this attribute will throw an error!
Overrides:genericDecl in class ConstructorDecl
Returns:
original generic declaration of this constructor.
Source
Declared in /home/jesper/git/extendj/java5/frontend/MethodSignature.jrag at line 397
Aspect
MethodSignature15
Note: isGeneric must be called first to check if this declaration is generic. Otherwise this attribute will throw an error!
Overrides:typeParameters in class BodyDecl
Returns:
type parameters for this declaration.
Source
Declared in /home/jesper/git/extendj/java5/frontend/MethodSignature.jrag at line 408
Aspect
MethodSignature15
Overrides:needsSignatureAttribute in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 388
Aspect
GenericsCodegen
@ASTNodeAnnotation.Attribute
inh org.extendj.ast.SimpleSet lookupType(java.lang.String name)
Overrides:lookupType in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 197
Aspect
GenericMethodsNameAnalysis

Methods

public ParConstructorDecl newParConstructorDecl(java.util.Collection<TypeDecl> typeArguments)
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 89
Aspect
GenericMethods
public void prettyPrint(org.jastadd.util.PrettyPrinter out)
Specified by:prettyPrint in interface org.jastadd.util.PrettyPrintableOverrides:prettyPrint in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/PrettyPrint.jadd at line 168
Aspect
Java5PrettyPrint
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 38
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 44
public void flushAttrCache()
Overrides:flushAttrCache in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 50
public void flushCollectionCache()
Overrides:flushCollectionCache in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 57
public void flushRewriteCache()
Overrides:flushRewriteCache in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 63
public GenericConstructorDecl clone()
                             throws java.lang.CloneNotSupportedException
Overrides:clone in class ConstructorDecl
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 69
Overrides:copy in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 76
@Deprecated
public GenericConstructorDecl 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 ConstructorDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 95
public GenericConstructorDecl 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 ConstructorDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 105
public GenericConstructorDecl 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 ConstructorDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 130
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 137
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Overrides:setModifiers in class ConstructorDecl
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Overrides:getModifiers in class ConstructorDecl
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Overrides:getModifiersNoTransform in class ConstructorDecl
Returns:
The current node used as the Modifiers child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class ConstructorDecl
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.
Overrides:setID in class ConstructorDecl
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.
Overrides:getID in class ConstructorDecl
Returns:
The value for the lexeme ID.
Replaces the Parameter list.
Overrides:setParameterList in class ConstructorDecl
Parameters:
list - The new list node to be used as the Parameter list.
public int getNumParameter()
Retrieves the number of children in the Parameter list.
Overrides:getNumParameter in class ConstructorDecl
Returns:
Number of children in the Parameter list.
Retrieves the number of children in the Parameter list. Calling this method will not trigger rewrites.
Overrides:getNumParameterNoTransform in class ConstructorDecl
Returns:
Number of children in the Parameter list.
Retrieves the element at index i in the Parameter list.
Overrides:getParameter in class ConstructorDecl
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Parameter list.
public boolean hasParameter()
Check whether the Parameter list has any children.
Overrides:hasParameter in class ConstructorDecl
Returns:
true if it has at least one child, false otherwise.
Append an element to the Parameter list.
Overrides:addParameter in class ConstructorDecl
Parameters:
node - The element to append to the Parameter list.
public void setParameter(ParameterDeclaration node,
                         int i)
Replaces the Parameter list element at index i with the new node node.
Overrides:setParameter in class ConstructorDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the Parameter list.
Overrides:getParameterList in class ConstructorDecl
Returns:
The node representing the Parameter list.
Retrieves the Parameter list.

This method does not invoke AST transformations.

Overrides:getParameterListNoTransform in class ConstructorDecl
Returns:
The node representing the Parameter list.
Retrieves the Parameter list.
Overrides:getParameters in class ConstructorDecl
Returns:
The node representing the Parameter list.
Retrieves the Parameter list.

This method does not invoke AST transformations.

Overrides:getParametersNoTransform in class ConstructorDecl
Returns:
The node representing the Parameter list.
public void setExceptionList(List<Access> list)
Replaces the Exception list.
Overrides:setExceptionList in class ConstructorDecl
Parameters:
list - The new list node to be used as the Exception list.
public int getNumException()
Retrieves the number of children in the Exception list.
Overrides:getNumException in class ConstructorDecl
Returns:
Number of children in the Exception list.
Retrieves the number of children in the Exception list. Calling this method will not trigger rewrites.
Overrides:getNumExceptionNoTransform in class ConstructorDecl
Returns:
Number of children in the Exception list.
public Access getException(int i)
Retrieves the element at index i in the Exception list.
Overrides:getException in class ConstructorDecl
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Exception list.
public boolean hasException()
Check whether the Exception list has any children.
Overrides:hasException in class ConstructorDecl
Returns:
true if it has at least one child, false otherwise.
public void addException(Access node)
Append an element to the Exception list.
Overrides:addException in class ConstructorDecl
Parameters:
node - The element to append to the Exception list.
public void setException(Access node,
                         int i)
Replaces the Exception list element at index i with the new node node.
Overrides:setException in class ConstructorDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the Exception list.
Overrides:getExceptionList in class ConstructorDecl
Returns:
The node representing the Exception list.
Retrieves the Exception list.

This method does not invoke AST transformations.

Overrides:getExceptionListNoTransform in class ConstructorDecl
Returns:
The node representing the Exception list.
Retrieves the Exception list.
Overrides:getExceptions in class ConstructorDecl
Returns:
The node representing the Exception list.
Retrieves the Exception list.

This method does not invoke AST transformations.

Overrides:getExceptionsNoTransform in class ConstructorDecl
Returns:
The node representing the Exception list.
Replaces the optional node for the ParsedConstructorInvocation child. This is the Opt node containing the child ParsedConstructorInvocation, not the actual child!
Overrides:setParsedConstructorInvocationOpt in class ConstructorDecl
Parameters:
opt - The new node to be used as the optional node for the ParsedConstructorInvocation child.
Replaces the (optional) ParsedConstructorInvocation child.
Overrides:setParsedConstructorInvocation in class ConstructorDecl
Parameters:
node - The new node to be used as the ParsedConstructorInvocation child.
Check whether the optional ParsedConstructorInvocation child exists.
Overrides:hasParsedConstructorInvocation in class ConstructorDecl
Returns:
true if the optional ParsedConstructorInvocation child exists, false if it does not.
Retrieves the (optional) ParsedConstructorInvocation child.
Overrides:getParsedConstructorInvocation in class ConstructorDecl
Returns:
The ParsedConstructorInvocation child, if it exists. Returns null otherwise.
Retrieves the optional node for the ParsedConstructorInvocation child. This is the Opt node containing the child ParsedConstructorInvocation, not the actual child!
Overrides:getParsedConstructorInvocationOpt in class ConstructorDecl
Returns:
The optional node for child the ParsedConstructorInvocation child.
Retrieves the optional node for child ParsedConstructorInvocation. This is the Opt node containing the child ParsedConstructorInvocation, not the actual child!

This method does not invoke AST transformations.

Overrides:getParsedConstructorInvocationOptNoTransform in class ConstructorDecl
Returns:
The optional node for child ParsedConstructorInvocation.
public void setBlock(Block node)
Replaces the Block child.
Overrides:setBlock in class ConstructorDecl
Parameters:
node - The new node to replace the Block child.
Retrieves the Block child.
Overrides:getBlock in class ConstructorDecl
Returns:
The current node used as the Block child.
Retrieves the Block child.

This method does not invoke AST transformations.

Overrides:getBlockNoTransform in class ConstructorDecl
Returns:
The current node used as the Block child.
Replaces the TypeParameter list.
Parameters:
list - The new list node to be used as the TypeParameter list.
public int getNumTypeParameter()
Retrieves the number of children in the TypeParameter list.
Returns:
Number of children in the TypeParameter list.
Retrieves the number of children in the TypeParameter list. Calling this method will not trigger rewrites.
Returns:
Number of children in the TypeParameter list.
Retrieves the element at index i in the TypeParameter list.
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the TypeParameter list.
public boolean hasTypeParameter()
Check whether the TypeParameter list has any children.
Returns:
true if it has at least one child, false otherwise.
public void addTypeParameter(TypeVariable node)
Append an element to the TypeParameter list.
Parameters:
node - The element to append to the TypeParameter list.
public void setTypeParameter(TypeVariable node,
                             int i)
Replaces the TypeParameter 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 TypeParameter list.
Returns:
The node representing the TypeParameter list.
Retrieves the TypeParameter list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Returns:
The node representing the TypeParameter list.
Retrieves the ImplicitConstructorInvocation child.

This method does not invoke AST transformations.

Overrides:getImplicitConstructorInvocationNoTransform in class ConstructorDecl
Returns:
The current node used as the ImplicitConstructorInvocation child.
Retrieves the child position of the optional child ImplicitConstructorInvocation.
Overrides:getImplicitConstructorInvocationChildPosition in class ConstructorDecl
Returns:
The the child position of the optional child ImplicitConstructorInvocation.
public org.extendj.ast.NameType Define_nameType(ASTNode caller,
                                                ASTNode child)
Overrides:Define_nameType in class ConstructorDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/SyntacticClassification.jrag at line 36
protected boolean canDefine_nameType(ASTNode caller,
                                     ASTNode child)
public org.extendj.ast.SimpleSet Define_lookupType(ASTNode caller,
                                                   ASTNode child,
                                                   java.lang.String name)
Overrides:Define_lookupType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 197
protected boolean canDefine_lookupType(ASTNode caller,
                                       ASTNode child,
                                       java.lang.String name)
public int Define_typeVarPosition(ASTNode caller,
                                  ASTNode child)
Overrides:Define_typeVarPosition in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TypeVariablePositions.jrag at line 29
protected boolean canDefine_typeVarPosition(ASTNode caller,
                                            ASTNode child)
public boolean Define_typeVarInMethod(ASTNode caller,
                                      ASTNode child)
Overrides:Define_typeVarInMethod in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TypeVariablePositions.jrag at line 32
protected boolean canDefine_typeVarInMethod(ASTNode caller,
                                            ASTNode child)
Overrides:rewriteTo in class ConstructorDecl

Fields

Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1386
Aspect
LookupParTypeDecl

Inherited Members

Attributes inherited from org.extendj.ast.ConstructorDecl

Attributes inherited from org.extendj.ast.BodyDecl

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.ConstructorDecl

Methods inherited from class org.extendj.ast.BodyDecl

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

Fields inherited from org.extendj.ast.BodyDecl

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value