org.extendj.ast
node type ParMethodDecl

General Info

Production
ParMethodDecl : MethodDecl ::= TypeArgument:Access* <GenericMethodDecl:GenericMethodDecl>;
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.MemberDecl
                  extended by org.extendj.ast.MethodDecl
                      extended by org.extendj.ast.ParMethodDecl
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
RawMethodDecl
static class SimpleSet.SimpleSetImpl
           

Description

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

Member Filters

API level:

Aspect:

Constructors

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

Attributes

Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 51
Aspect
GenericMethods
Overrides:erasedMethod in class MethodDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1413
Aspect
LookupParTypeDecl
Overrides:sourceMethodDecl in class MethodDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1625
Aspect
SourceDeclarations
Caution: a less specific than b does not mean b is not less specific than a!
Overrides:lessSpecificThan in class MethodDecl
Parameters:
m - argument method to compare to
Returns:
true if any parameter of this method decl is not a subtype (non-proper subtype) of the corresponding parameter of the argument method
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 235
Aspect
MethodDecl

Methods

public void collectErrors()
Description copied from class: ASTNodeThe collectErrors method is refined so that it calls the checkWarnings method on each ASTNode to report unchecked warnings.
Overrides:collectErrors in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 121
Aspect
TypeCheck
public TypeDecl substitute(TypeVariable typeVariable)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 968
Aspect
LookupParTypeDecl
public boolean isRawType()
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1001
Aspect
LookupParTypeDecl
public int numTypeParameter()
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1009
Aspect
LookupParTypeDecl
public TypeVariable typeParameter(int index)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1017
Aspect
LookupParTypeDecl
public void transformation()
Overrides:transformation in class MethodDecl
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 217
Aspect
GenericsCodegen
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class MethodDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class MethodDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 40
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class MethodDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 46
public void flushAttrCache()
Overrides:flushAttrCache in class MethodDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 52
public void flushCollectionCache()
Overrides:flushCollectionCache in class MethodDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 61
public void flushRewriteCache()
Overrides:flushRewriteCache in class MethodDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 67
public ParMethodDecl clone()
                    throws java.lang.CloneNotSupportedException
Overrides:clone in class MethodDecl
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 73
public ParMethodDecl copy()
Overrides:copy in class MethodDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 80
@Deprecated
public ParMethodDecl 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 MethodDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 99
public ParMethodDecl 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 MethodDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 109
public ParMethodDecl 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 MethodDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 129
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class MethodDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 136
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Overrides:setModifiers in class MethodDecl
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Overrides:getModifiers in class MethodDecl
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Overrides:getModifiersNoTransform in class MethodDecl
Returns:
The current node used as the Modifiers child.
public void setTypeAccess(Access node)
Replaces the TypeAccess child.
Overrides:setTypeAccess in class MethodDecl
Parameters:
node - The new node to replace the TypeAccess child.
Retrieves the TypeAccess child.
Overrides:getTypeAccess in class MethodDecl
Returns:
The current node used as the TypeAccess child.
Retrieves the TypeAccess child.

This method does not invoke AST transformations.

Overrides:getTypeAccessNoTransform in class MethodDecl
Returns:
The current node used as the TypeAccess child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class MethodDecl
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 MethodDecl
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 MethodDecl
Returns:
The value for the lexeme ID.
Replaces the Parameter list.
Overrides:setParameterList in class MethodDecl
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 MethodDecl
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 MethodDecl
Returns:
Number of children in the Parameter list.
Retrieves the element at index i in the Parameter list.
Overrides:getParameter in class MethodDecl
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 MethodDecl
Returns:
true if it has at least one child, false otherwise.
Append an element to the Parameter list.
Overrides:addParameter in class MethodDecl
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 MethodDecl
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 MethodDecl
Returns:
The node representing the Parameter list.
Retrieves the Parameter list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Overrides:getParametersNoTransform in class MethodDecl
Returns:
The node representing the Parameter list.
public void setExceptionList(List<Access> list)
Replaces the Exception list.
Overrides:setExceptionList in class MethodDecl
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 MethodDecl
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 MethodDecl
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 MethodDecl
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 MethodDecl
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 MethodDecl
Parameters:
node - The element to append to the Exception list.
public void addExceptionNoTransform(Access node)
Overrides:addExceptionNoTransform in class MethodDecl
public void setException(Access node,
                         int i)
Replaces the Exception list element at index i with the new node node.
Overrides:setException in class MethodDecl
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 MethodDecl
Returns:
The node representing the Exception list.
Retrieves the Exception list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Overrides:getExceptionsNoTransform in class MethodDecl
Returns:
The node representing the Exception list.
public void setBlockOpt(Opt<Block> opt)
Replaces the optional node for the Block child. This is the Opt node containing the child Block, not the actual child!
Overrides:setBlockOpt in class MethodDecl
Parameters:
opt - The new node to be used as the optional node for the Block child.
public void setBlock(Block node)
Replaces the (optional) Block child.
Overrides:setBlock in class MethodDecl
Parameters:
node - The new node to be used as the Block child.
public boolean hasBlock()
Check whether the optional Block child exists.
Overrides:hasBlock in class MethodDecl
Returns:
true if the optional Block child exists, false if it does not.
public Block getBlock()
Retrieves the (optional) Block child.
Overrides:getBlock in class MethodDecl
Returns:
The Block child, if it exists. Returns null otherwise.
Retrieves the optional node for the Block child. This is the Opt node containing the child Block, not the actual child!
Overrides:getBlockOpt in class MethodDecl
Returns:
The optional node for child the Block child.
Retrieves the optional node for child Block. This is the Opt node containing the child Block, not the actual child!

This method does not invoke AST transformations.

Overrides:getBlockOptNoTransform in class MethodDecl
Returns:
The optional node for child Block.
public void setTypeArgumentList(List<Access> list)
Replaces the TypeArgument list.
Parameters:
list - The new list node to be used as the TypeArgument list.
public int getNumTypeArgument()
Retrieves the number of children in the TypeArgument list.
Returns:
Number of children in the TypeArgument list.
Retrieves the number of children in the TypeArgument list. Calling this method will not trigger rewrites.
Returns:
Number of children in the TypeArgument list.
public Access getTypeArgument(int i)
Retrieves the element at index i in the TypeArgument list.
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the TypeArgument list.
public boolean hasTypeArgument()
Check whether the TypeArgument list has any children.
Returns:
true if it has at least one child, false otherwise.
public void addTypeArgument(Access node)
Append an element to the TypeArgument list.
Parameters:
node - The element to append to the TypeArgument list.
public void setTypeArgument(Access node,
                            int i)
Replaces the TypeArgument 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 TypeArgument list.
Returns:
The node representing the TypeArgument list.
Retrieves the TypeArgument list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Returns:
The node representing the TypeArgument list.
Replaces the lexeme GenericMethodDecl.
Parameters:
value - The new value for the lexeme GenericMethodDecl.
Retrieves the value for the lexeme GenericMethodDecl.
Returns:
The value for the lexeme GenericMethodDecl.
Overrides:rewriteTo in class MethodDecl
public int size()
public boolean isEmpty()
public boolean contains(java.lang.Object o)

Fields

public static final org.extendj.ast.Parameterization RAW
A raw type parameterization. Performs no substitutions.
Source
Declared in /home/jesper/git/extendj/java5/frontend/MethodSignature.jrag at line 240
Aspect
MethodSignature15
protected boolean genericMethodDecl_computed
protected boolean sourceMethodDecl_computed
protected java.util.Map lessSpecificThan_MethodDecl_values
public static final org.extendj.ast.SimpleSet emptySet
public static final org.extendj.ast.SimpleSet fullSet

Inherited Members

Attributes inherited from org.extendj.ast.MethodDecl

Attributes inherited from org.extendj.ast.MemberDecl

Attributes inherited from org.extendj.ast.BodyDecl

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.MethodDecl

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

Fields inherited from org.extendj.ast.BodyDecl

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value