org.extendj.ast
node type Annotation

General Info

Production
Annotation : Modifier ::= <ID:String> Access ElementValuePair*;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.Modifier
              extended by org.extendj.ast.Annotation
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

Source
Declared in /home/jesper/git/extendj/java5/grammar/Annotations.ast at line 6

Member Filters

API level:

Aspect:

Constructors

public Annotation()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public Annotation(java.lang.String p0,
                  Access p1,
                  List<ElementValuePair> p2)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 14
public Annotation(beaver.Symbol p0,
                  Access p1,
                  List<ElementValuePair> p2)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 19

Attributes

@ASTNodeAnnotation.Attribute
syn boolean isAnnotation(java.lang.String packageName,
                                                 java.lang.String name)
Overrides:isAnnotation in class Modifier
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 285
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 501
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 513
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 611
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 640
Aspect
Annotations
Overrides:isRuntimeVisible in class Modifier
Source
Declared in /home/jesper/git/extendj/java5/backend/AnnotationsCodegen.jrag at line 88
Aspect
AnnotationsCodegen
Overrides:isRuntimeInvisible in class Modifier
Source
Declared in /home/jesper/git/extendj/java5/backend/AnnotationsCodegen.jrag at line 100
Aspect
AnnotationsCodegen
@ASTNodeAnnotation.Attribute
inh TypeDecl lookupType(java.lang.String packageName,
                                                java.lang.String typeName)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 78
Aspect
Annotations
@ASTNodeAnnotation.Attribute
inh boolean mayUseAnnotationTarget(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 96
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 330
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 503
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 641
Aspect
Annotations

Methods

public void checkModifiers()
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 63
Aspect
Annotations
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 460
Aspect
Annotations
public void prettyPrint(org.jastadd.util.PrettyPrinter out)
Specified by:prettyPrint in interface org.jastadd.util.PrettyPrintableOverrides:prettyPrint in class Modifier
Source
Declared in /home/jesper/git/extendj/java5/frontend/PrettyPrint.jadd at line 311
Aspect
Java5PrettyPrint
public void appendAsAttributeTo(org.extendj.ast.Attribute buf)
Source
Declared in /home/jesper/git/extendj/java5/backend/AnnotationsCodegen.jrag at line 191
Aspect
AnnotationsCodegen
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Modifier
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class Modifier
Source
Declared in /home/jesper/git/extendj/ASTNode at line 27
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Modifier
Source
Declared in /home/jesper/git/extendj/ASTNode at line 33
public void flushAttrCache()
Overrides:flushAttrCache in class Modifier
Source
Declared in /home/jesper/git/extendj/ASTNode at line 39
public void flushCollectionCache()
Overrides:flushCollectionCache in class Modifier
Source
Declared in /home/jesper/git/extendj/ASTNode at line 46
public void flushRewriteCache()
Overrides:flushRewriteCache in class Modifier
Source
Declared in /home/jesper/git/extendj/ASTNode at line 52
public Annotation clone()
                 throws java.lang.CloneNotSupportedException
Overrides:clone in class Modifier
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 58
public Annotation copy()
Overrides:copy in class Modifier
Source
Declared in /home/jesper/git/extendj/ASTNode at line 65
@Deprecated
public Annotation 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 Modifier
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 84
public Annotation 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 Modifier
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 94
public Annotation 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 Modifier
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 114
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class Modifier
Source
Declared in /home/jesper/git/extendj/ASTNode at line 121
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class Modifier
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 Modifier
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 Modifier
Returns:
The value for the lexeme ID.
public void setAccess(Access node)
Replaces the Access child.
Parameters:
node - The new node to replace the Access child.
Retrieves the Access child.
Returns:
The current node used as the Access child.
Retrieves the Access child.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Returns:
The node representing the ElementValuePair list.
public void checkOverride()
Source
Declared in /home/jesper/git/extendj/java6/frontend/Override.jrag at line 45
Aspect
Annotations
Overrides:Define_enclosingAnnotationDecl in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 544
protected boolean canDefine_enclosingAnnotationDecl(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)
Overrides:rewriteTo in class Modifier

Fields

protected boolean decl_computed

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

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value