org.extendj.ast
node type RawClassDecl

General Info

Production
RawClassDecl : ParClassDecl ::= Argument:Access*;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.TypeDecl
              extended by org.extendj.ast.ReferenceType
                  extended by org.extendj.ast.ClassDecl
                      extended by org.extendj.ast.ParClassDecl
                          extended by org.extendj.ast.RawClassDecl
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator, org.jastadd.util.PrettyPrintable
static class SimpleSet.SimpleSetImpl
           

Description

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

Member Filters

API level:

Aspect:

Constructors

public RawClassDecl()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public RawClassDecl(Modifiers p0,
                    java.lang.String p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 18
public RawClassDecl(Modifiers p0,
                    beaver.Symbol p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 22

Attributes

Overrides:hostType in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 624
Aspect
NestedTypes
Overrides:isRawType in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 307
Aspect
Generics
Overrides:sameSignature in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 816
Aspect
LookupParTypeDecl
Description copied from class: ParClassDecl
Retrieves the Argument list.
Overrides:getArgumentList in class ParClassDecl
Returns:
The node representing the Argument list.
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 906
Aspect
LookupParTypeDecl
Overrides:nameWithArgs in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsParTypeDecl.jrag at line 55
Aspect
GenericsParTypeDecl
Overrides:supertypeGenericClassDecl in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 35
Aspect
GenericsSubtype
Overrides:supertypeClassDecl in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 448
Aspect
GenericsSubtype
Overrides:supertypeInterfaceDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 465
Aspect
GenericsSubtype
Overrides:supertypeParClassDecl in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 134
Aspect
GenericsSubtype
Overrides:instanceOf in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 442
Aspect
TypeWideningAndIdentity
A type is reifiable if it either refers to a non-parameterized type, is a raw type, is a parameterized type with only unbound wildcard parameters or is an array type with a reifiable type parameter.
Overrides:isReifiable in class ParClassDecl
See Also:
"JLS SE7 §4.7"
Source
Declared in /home/jesper/git/extendj/java5/frontend/ReifiableTypes.jrag at line 39
Aspect
ReifiableTypes
Overrides:typeArgumentsOpt in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 495
Aspect
GenericsCodegen
Overrides:strictSupertypeGenericClassDecl in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 39
Aspect
StrictSubtype
Overrides:strictSupertypeClassDecl in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 370
Aspect
StrictSubtype
Overrides:strictSupertypeInterfaceDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 390
Aspect
StrictSubtype
Overrides:strictSupertypeParClassDecl in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 155
Aspect
StrictSubtype
@ASTNodeAnnotation.Attribute
syn boolean sameSignature(java.util.List<TypeDecl> list)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 858
Aspect
LookupParTypeDecl
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet localTypeDecls(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1315
Aspect
LookupParTypeDecl

Methods

public Access substitute(org.extendj.ast.Parameterization parTypeDecl)
Overrides:substitute in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1062
Aspect
LookupParTypeDecl
public Access substituteReturnType(org.extendj.ast.Parameterization parTypeDecl)
Overrides:substituteReturnType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1129
Aspect
LookupParTypeDecl
public Access substituteParameterType(org.extendj.ast.Parameterization parTypeDecl)
Overrides:substituteParameterType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1157
Aspect
LookupParTypeDecl
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 29
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 35
public void flushAttrCache()
Overrides:flushAttrCache in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 41
public void flushCollectionCache()
Overrides:flushCollectionCache in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 51
public void flushRewriteCache()
Overrides:flushRewriteCache in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 57
public RawClassDecl clone()
                   throws java.lang.CloneNotSupportedException
Overrides:clone in class ParClassDecl
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 63
public RawClassDecl copy()
Overrides:copy in class ParClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 70
@Deprecated
public RawClassDecl 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 ParClassDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 89
public RawClassDecl 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 ParClassDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 99
public RawClassDecl 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 ParClassDecl
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 ParClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 137
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Overrides:setModifiers in class ParClassDecl
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Overrides:getModifiers in class ParClassDecl
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Overrides:getModifiersNoTransform in class ParClassDecl
Returns:
The current node used as the Modifiers child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class ParClassDecl
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 ParClassDecl
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 ParClassDecl
Returns:
The value for the lexeme ID.
Replaces the (optional) ImplicitConstructor child.
Overrides:setImplicitConstructor in class ParClassDecl
Parameters:
node - The new node to be used as the ImplicitConstructor child.
public boolean hasImplicitConstructor()
Check whether the optional ImplicitConstructor child exists.
Overrides:hasImplicitConstructor in class ParClassDecl
Returns:
true if the optional ImplicitConstructor child exists, false if it does not.
Retrieves the (optional) ImplicitConstructor child.
Overrides:getImplicitConstructor in class ParClassDecl
Returns:
The ImplicitConstructor child, if it exists. Returns null otherwise.
Retrieves the optional node for child ImplicitConstructor. This is the Opt node containing the child ImplicitConstructor, not the actual child!

This method does not invoke AST transformations.

Overrides:getImplicitConstructorOptNoTransform in class ParClassDecl
Returns:
The optional node for child ImplicitConstructor.
Retrieves the child position of the optional child ImplicitConstructor.
Overrides:getImplicitConstructorOptChildPosition in class ParClassDecl
Returns:
The the child position of the optional child ImplicitConstructor.
public void setSuperClassOpt(Opt<Access> node)
This method should not be called. This method throws an exception due to the corresponding child being an NTA shadowing a non-NTA child.
Overrides:setSuperClassOpt in class ParClassDecl
Parameters:
node -
public void setSuperClass(Access node)
Replaces the (optional) SuperClass child.
Overrides:setSuperClass in class ParClassDecl
Parameters:
node - The new node to be used as the SuperClass child.
public boolean hasSuperClass()
Check whether the optional SuperClass child exists.
Overrides:hasSuperClass in class ParClassDecl
Returns:
true if the optional SuperClass child exists, false if it does not.
Retrieves the (optional) SuperClass child.
Overrides:getSuperClass in class ParClassDecl
Returns:
The SuperClass child, if it exists. Returns null otherwise.
Retrieves the optional node for child SuperClass. This is the Opt node containing the child SuperClass, not the actual child!

This method does not invoke AST transformations.

Overrides:getSuperClassOptNoTransform in class ParClassDecl
Returns:
The optional node for child SuperClass.
Retrieves the child position of the optional child SuperClass.
Overrides:getSuperClassOptChildPosition in class ParClassDecl
Returns:
The the child position of the optional child SuperClass.
public void setImplementsList(List<Access> node)
This method should not be called. This method throws an exception due to the corresponding child being an NTA shadowing a non-NTA child.
Overrides:setImplementsList in class ParClassDecl
Parameters:
node -
public int getNumImplements()
Retrieves the number of children in the Implements list.
Overrides:getNumImplements in class ParClassDecl
Returns:
Number of children in the Implements list.
Retrieves the number of children in the Implements list. Calling this method will not trigger rewrites.
Overrides:getNumImplementsNoTransform in class ParClassDecl
Returns:
Number of children in the Implements list.
public Access getImplements(int i)
Retrieves the element at index i in the Implements list.
Overrides:getImplements in class ParClassDecl
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Implements list.
public boolean hasImplements()
Check whether the Implements list has any children.
Overrides:hasImplements in class ParClassDecl
Returns:
true if it has at least one child, false otherwise.
public void addImplements(Access node)
Append an element to the Implements list.
Overrides:addImplements in class ParClassDecl
Parameters:
node - The element to append to the Implements list.
public void setImplements(Access node,
                          int i)
Replaces the Implements list element at index i with the new node node.
Overrides:setImplements in class ParClassDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the child position of the Implements list.
Overrides:getImplementsListChildPosition in class ParClassDecl
Returns:
The the child position of the Implements list.
Retrieves the Implements list.

This method does not invoke AST transformations.

Overrides:getImplementsListNoTransform in class ParClassDecl
Returns:
The node representing the Implements list.
Retrieves the Implements list.
Overrides:getImplementss in class ParClassDecl
Returns:
The node representing the Implements list.
Retrieves the Implements list.

This method does not invoke AST transformations.

Overrides:getImplementssNoTransform in class ParClassDecl
Returns:
The node representing the Implements list.
public void setBodyDeclList(List<BodyDecl> node)
This method should not be called. This method throws an exception due to the corresponding child being an NTA shadowing a non-NTA child.
Overrides:setBodyDeclList in class ParClassDecl
Parameters:
node -
public int getNumBodyDecl()
Retrieves the number of children in the BodyDecl list.
Overrides:getNumBodyDecl in class ParClassDecl
Returns:
Number of children in the BodyDecl list.
Retrieves the number of children in the BodyDecl list. Calling this method will not trigger rewrites.
Overrides:getNumBodyDeclNoTransform in class ParClassDecl
Returns:
Number of children in the BodyDecl list.
public BodyDecl getBodyDecl(int i)
Retrieves the element at index i in the BodyDecl list.
Overrides:getBodyDecl in class ParClassDecl
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the BodyDecl list.
public boolean hasBodyDecl()
Check whether the BodyDecl list has any children.
Overrides:hasBodyDecl in class ParClassDecl
Returns:
true if it has at least one child, false otherwise.
public void addBodyDecl(BodyDecl node)
Append an element to the BodyDecl list.
Overrides:addBodyDecl in class ParClassDecl
Parameters:
node - The element to append to the BodyDecl list.
public void setBodyDecl(BodyDecl node,
                        int i)
Replaces the BodyDecl list element at index i with the new node node.
Overrides:setBodyDecl in class ParClassDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the child position of the BodyDecl list.
Overrides:getBodyDeclListChildPosition in class ParClassDecl
Returns:
The the child position of the BodyDecl list.
Retrieves the BodyDecl list.

This method does not invoke AST transformations.

Overrides:getBodyDeclListNoTransform in class ParClassDecl
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.
Overrides:getBodyDecls in class ParClassDecl
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.

This method does not invoke AST transformations.

Overrides:getBodyDeclsNoTransform in class ParClassDecl
Returns:
The node representing the BodyDecl list.
public void setArgumentList(List<Access> node)
This method should not be called. This method throws an exception due to the corresponding child being an NTA shadowing a non-NTA child.
Overrides:setArgumentList in class ParClassDecl
Parameters:
node -
public int getNumArgument()
Retrieves the number of children in the Argument list.
Overrides:getNumArgument in class ParClassDecl
Returns:
Number of children in the Argument list.
Retrieves the number of children in the Argument list. Calling this method will not trigger rewrites.
Overrides:getNumArgumentNoTransform in class ParClassDecl
Returns:
Number of children in the Argument list.
public Access getArgument(int i)
Retrieves the element at index i in the Argument list.
Overrides:getArgument in class ParClassDecl
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Argument list.
public boolean hasArgument()
Check whether the Argument list has any children.
Overrides:hasArgument in class ParClassDecl
Returns:
true if it has at least one child, false otherwise.
public void addArgument(Access node)
Append an element to the Argument list.
Overrides:addArgument in class ParClassDecl
Parameters:
node - The element to append to the Argument list.
public void addArgumentNoTransform(Access node)
public void setArgument(Access node,
                        int i)
Replaces the Argument list element at index i with the new node node.
Overrides:setArgument in class ParClassDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the child position of the Argument list.
Returns:
The the child position of the Argument list.
Retrieves the Argument list.

This method does not invoke AST transformations.

Overrides:getArgumentListNoTransform in class ParClassDecl
Returns:
The node representing the Argument list.
Retrieves the Argument list.
Overrides:getArguments in class ParClassDecl
Returns:
The node representing the Argument list.
Retrieves the Argument list.

This method does not invoke AST transformations.

Overrides:getArgumentsNoTransform in class ParClassDecl
Returns:
The node representing the Argument list.
Overrides:rewriteTo in class ParClassDecl
public java.lang.String typeName()
public org.extendj.ast.SimpleSet localFields(java.lang.String name)
public java.util.Map<java.lang.String,org.extendj.ast.SimpleSet> localMethodsSignatureMap()
public boolean isRawType()
public int size()
public boolean isEmpty()
public boolean contains(java.lang.Object o)
public org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)

Fields

protected boolean getArgumentList_computed
protected java.util.Map subtype_TypeDecl_values
protected java.util.Map instanceOf_TypeDecl_values
protected java.util.Map strictSubtype_TypeDecl_values
public static final org.extendj.ast.Parameterization RAW
A raw type parameterization. Performs no substitutions.
public static final org.extendj.ast.SimpleSet emptySet
public static final org.extendj.ast.SimpleSet fullSet

Inherited Members

Attributes inherited from org.extendj.ast.ParClassDecl

Attributes inherited from org.extendj.ast.ClassDecl

Attributes inherited from org.extendj.ast.ReferenceType

Attributes inherited from org.extendj.ast.TypeDecl

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.ParClassDecl

Methods inherited from class org.extendj.ast.ClassDecl

Methods inherited from class org.extendj.ast.ReferenceType

Methods inherited from class org.extendj.ast.TypeDecl

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

Fields inherited from org.extendj.ast.ClassDecl

Fields inherited from org.extendj.ast.ReferenceType

Fields inherited from org.extendj.ast.TypeDecl

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value