org.extendj.ast
node type GenericInterfaceDeclSubstituted

General Info

Production
GenericInterfaceDeclSubstituted : GenericInterfaceDecl ::= <Original:TypeDecl> BodyDecl*;
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.InterfaceDecl
                      extended by org.extendj.ast.GenericInterfaceDecl
                          extended by org.extendj.ast.GenericInterfaceDeclSubstituted
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 44

Member Filters

API level:

Aspect:

Constructors

public GenericInterfaceDeclSubstituted()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public GenericInterfaceDeclSubstituted(Modifiers p0,
                                       java.lang.String p1,
                                       List<Access> p2,
                                       List<TypeVariable> p3,
                                       TypeDecl p4)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 16
public GenericInterfaceDeclSubstituted(Modifiers p0,
                                       beaver.Symbol p1,
                                       List<Access> p2,
                                       List<TypeVariable> p3,
                                       TypeDecl p4)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 23

Attributes

Overrides:hostType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 624
Aspect
NestedTypes
Description copied from class: GenericInterfaceDecl
Retrieves the BodyDecl list.
Overrides:getBodyDeclList in class GenericInterfaceDecl
Returns:
The node representing the BodyDecl list.
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1237
Aspect
LookupParTypeDecl
Overrides:original in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1417
Aspect
LookupParTypeDecl
Overrides:sourceTypeDecl in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1618
Aspect
SourceDeclarations
Overrides:instanceOf in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 442
Aspect
TypeWideningAndIdentity
Overrides:supertypeGenericInterfaceDeclSubstituted in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 559
Aspect
GenericsSubtype
Overrides:supertypeGenericInterfaceDecl in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 40
Aspect
GenericsSubtype
Overrides:typeDescriptor in class InterfaceDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/ConstantPoolNames.jrag at line 77
Aspect
ConstantPoolNames
For a top-level type the constant pool name of the type is the same as the canonical name but with dots replaced by solidus.

For nested types the constant pool name is based on the enclosing top-level types constant pool name followed by a dollar sign and a unique index and/or the type name.

Overrides:constantPoolName in class TypeDecl
Returns:
constant pool name of this type
Source
Declared in /home/jesper/git/extendj/java4/backend/ConstantPoolNames.jrag at line 44
Aspect
ConstantPoolNames
Overrides:uniqueIndex in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/Java2Rewrites.jrag at line 33
Aspect
Java2Rewrites
Overrides:arrayTypeDescriptor in class InterfaceDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 900
Aspect
CreateBCode
Overrides:strictSupertypeGenericInterfaceDeclSubstituted in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 492
Aspect
StrictSubtype
Overrides:strictSupertypeGenericInterfaceDecl in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 46
Aspect
StrictSubtype
@ASTNodeAnnotation.Attribute
syn java.util.Map<java.lang.String,org.extendj.ast.SimpleSet> localMethodsSignatureMap()
Overrides:localMethodsSignatureMap in class TypeDecl
Returns:
a mapping of method signature to method declaration
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1278
Aspect
LookupParTypeDecl
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet localFields(java.lang.String name)
Overrides:localFields in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1296
Aspect
LookupParTypeDecl
Overrides:constructors in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1347
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 void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 33
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 39
public void flushAttrCache()
Overrides:flushAttrCache in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 45
public void flushCollectionCache()
Overrides:flushCollectionCache in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 63
public void flushRewriteCache()
Overrides:flushRewriteCache in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 69
public GenericInterfaceDeclSubstituted clone()
                                      throws java.lang.CloneNotSupportedException
Overrides:clone in class GenericInterfaceDecl
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 75
Overrides:copy in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 82
@Deprecated
public GenericInterfaceDeclSubstituted 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 GenericInterfaceDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 101
public GenericInterfaceDeclSubstituted 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 GenericInterfaceDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 111
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 GenericInterfaceDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 136
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class GenericInterfaceDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 143
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Overrides:setModifiers in class GenericInterfaceDecl
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Overrides:getModifiers in class GenericInterfaceDecl
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Overrides:getModifiersNoTransform in class GenericInterfaceDecl
Returns:
The current node used as the Modifiers child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class GenericInterfaceDecl
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 GenericInterfaceDecl
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 GenericInterfaceDecl
Returns:
The value for the lexeme ID.
public void setSuperInterfaceList(List<Access> list)
Replaces the SuperInterface list.
Overrides:setSuperInterfaceList in class GenericInterfaceDecl
Parameters:
list - The new list node to be used as the SuperInterface list.
Retrieves the number of children in the SuperInterface list.
Overrides:getNumSuperInterface in class GenericInterfaceDecl
Returns:
Number of children in the SuperInterface list.
Retrieves the number of children in the SuperInterface list. Calling this method will not trigger rewrites.
Overrides:getNumSuperInterfaceNoTransform in class GenericInterfaceDecl
Returns:
Number of children in the SuperInterface list.
public Access getSuperInterface(int i)
Retrieves the element at index i in the SuperInterface list.
Overrides:getSuperInterface in class GenericInterfaceDecl
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the SuperInterface list.
public boolean hasSuperInterface()
Check whether the SuperInterface list has any children.
Overrides:hasSuperInterface in class GenericInterfaceDecl
Returns:
true if it has at least one child, false otherwise.
public void addSuperInterface(Access node)
Append an element to the SuperInterface list.
Overrides:addSuperInterface in class GenericInterfaceDecl
Parameters:
node - The element to append to the SuperInterface list.
public void setSuperInterface(Access node,
                              int i)
Replaces the SuperInterface list element at index i with the new node node.
Overrides:setSuperInterface in class GenericInterfaceDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the SuperInterface list.
Overrides:getSuperInterfaceList in class GenericInterfaceDecl
Returns:
The node representing the SuperInterface list.
Retrieves the SuperInterface list.

This method does not invoke AST transformations.

Overrides:getSuperInterfaceListNoTransform in class GenericInterfaceDecl
Returns:
The node representing the SuperInterface list.
Retrieves the SuperInterface list.
Overrides:getSuperInterfaces in class GenericInterfaceDecl
Returns:
The node representing the SuperInterface list.
Retrieves the SuperInterface list.

This method does not invoke AST transformations.

Overrides:getSuperInterfacesNoTransform in class GenericInterfaceDecl
Returns:
The node representing the SuperInterface list.
Replaces the TypeParameter list.
Overrides:setTypeParameterList in class GenericInterfaceDecl
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.
Overrides:getNumTypeParameter in class GenericInterfaceDecl
Returns:
Number of children in the TypeParameter list.
Retrieves the number of children in the TypeParameter list. Calling this method will not trigger rewrites.
Overrides:getNumTypeParameterNoTransform in class GenericInterfaceDecl
Returns:
Number of children in the TypeParameter list.
Retrieves the element at index i in the TypeParameter list.
Overrides:getTypeParameter in class GenericInterfaceDecl
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.
Overrides:hasTypeParameter in class GenericInterfaceDecl
Returns:
true if it has at least one child, false otherwise.
public void addTypeParameter(TypeVariable node)
Append an element to the TypeParameter list.
Overrides:addTypeParameter in class GenericInterfaceDecl
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.
Overrides:setTypeParameter in class GenericInterfaceDecl
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.
Overrides:getTypeParameterList in class GenericInterfaceDecl
Returns:
The node representing the TypeParameter list.
Retrieves the TypeParameter list.

This method does not invoke AST transformations.

Overrides:getTypeParameterListNoTransform in class GenericInterfaceDecl
Returns:
The node representing the TypeParameter list.
Retrieves the TypeParameter list.
Overrides:getTypeParameters in class GenericInterfaceDecl
Returns:
The node representing the TypeParameter list.
Retrieves the TypeParameter list.

This method does not invoke AST transformations.

Overrides:getTypeParametersNoTransform in class GenericInterfaceDecl
Returns:
The node representing the TypeParameter list.
public void setOriginal(TypeDecl value)
Replaces the lexeme Original.
Parameters:
value - The new value for the lexeme Original.
Retrieves the value for the lexeme Original.
Returns:
The value for the lexeme Original.
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 GenericInterfaceDecl
Parameters:
node -
public int getNumBodyDecl()
Retrieves the number of children in the BodyDecl list.
Overrides:getNumBodyDecl in class GenericInterfaceDecl
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 GenericInterfaceDecl
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 GenericInterfaceDecl
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 GenericInterfaceDecl
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 GenericInterfaceDecl
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 GenericInterfaceDecl
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.
Returns:
The the child position of the BodyDecl list.
Retrieves the BodyDecl list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Overrides:getBodyDeclsNoTransform in class GenericInterfaceDecl
Returns:
The node representing the BodyDecl list.
@ASTNodeAnnotation.Attribute
public org.extendj.ast.SimpleSet localTypeDecls(java.lang.String name)
Overrides:rewriteTo in class GenericInterfaceDecl
public TypeDecl substitute(TypeVariable typeVariable)
public boolean isRawType()
public java.lang.String fullName()
public java.lang.String typeName()
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 getBodyDeclList_computed
protected boolean sourceTypeDecl_computed
protected java.util.Map instanceOf_TypeDecl_values
protected java.util.Map subtype_TypeDecl_values
protected boolean typeDescriptor_computed
protected java.lang.String typeDescriptor_value
protected boolean constantPoolName_computed
protected java.lang.String constantPoolName_value
protected boolean uniqueIndex_computed
protected int uniqueIndex_value
protected java.util.Map strictSubtype_TypeDecl_values
protected java.util.Map<java.lang.String,org.extendj.ast.SimpleSet> localMethodsSignatureMap_value
protected java.util.Map localFields_String_values
protected java.util.Map localTypeDecls_String_values
protected boolean constructors_computed
protected java.util.Collection<ConstructorDecl> constructors_value
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.GenericInterfaceDecl

Attributes inherited from org.extendj.ast.InterfaceDecl

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

Methods inherited from class org.extendj.ast.InterfaceDecl

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

Fields inherited from org.extendj.ast.InterfaceDecl

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