org.extendj.ast
node type ReferenceType

General Info

Production
ReferenceType : TypeDecl;
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
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
ClassDecl, GLBType, InterfaceDecl, LUBType, TypeVariable
static class SimpleSet.SimpleSetImpl
           

Description

Source
Declared in /home/jesper/git/extendj/java4/grammar/Java.ast at line 41

Member Filters

API level:

Aspect:

Constructors

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

Attributes

Overrides:wideningConversionTo in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 38
Aspect
TypeConversion
Overrides:narrowingConversionTo in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 39
Aspect
TypeConversion
Overrides:isReferenceType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 187
Aspect
TypeAnalysis
Overrides:isSupertypeOfNullType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 527
Aspect
TypeWideningAndIdentity
Overrides:arrayLoad in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 249
Aspect
CodeGeneration
Overrides:arrayStore in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 380
Aspect
CodeGeneration
@ASTNodeAnnotation.Attribute
syn java.util.Collection bcFields()
Overrides:bcFields in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 317
Aspect
GenerateClassfile
@ASTNodeAnnotation.Attribute
syn java.util.Collection bcMethods()
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 328
Aspect
GenerateClassfile
Overrides:stringPromotion in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 113
Aspect
InnerClasses
@ASTNodeAnnotation.Attribute
syn java.lang.String jvmName()
Overrides:jvmName in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/Java2Rewrites.jrag at line 36
Aspect
Java2Rewrites
Overrides:referenceClassFieldName in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/Java2Rewrites.jrag at line 81
Aspect
Java2Rewrites
Overrides:variableSize in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/LocalNum.jrag at line 199
Aspect
LocalNum
Overrides:isValidAnnotationMethodReturnType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 151
Aspect
Annotations
Overrides:unboxingConversionTo in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 68
Aspect
AutoBoxing
Overrides:unboxed in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 72
Aspect
AutoBoxing
Overrides:unaryNumericPromotion in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 167
Aspect
NumericPromotion
Overrides:binaryNumericPromotion in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 175
Aspect
NumericPromotion
Overrides:isNumericType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 195
Aspect
TypeAnalysis
Overrides:isIntegralType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 199
Aspect
TypeAnalysis
Overrides:isPrimitive in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 245
Aspect
TypeAnalysis
Overrides:isBoolean in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 203
Aspect
TypeAnalysis
Overrides:supertypeNullType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 514
Aspect
GenericsSubtype
Overrides:strictSupertypeNullType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 446
Aspect
StrictSubtype
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 103
Aspect
AutoBoxing
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 104
Aspect
AutoBoxing
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 105
Aspect
AutoBoxing
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 106
Aspect
AutoBoxing
Overrides:typeInt in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 107
Aspect
AutoBoxing
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 108
Aspect
AutoBoxing
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 109
Aspect
AutoBoxing
Source
Declared in /home/jesper/git/extendj/java5/frontend/AutoBoxing.jrag at line 110
Aspect
AutoBoxing

Methods

public void emitReturn(org.extendj.ast.CodeGeneration gen)
Overrides:emitReturn in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 246
Aspect
CodeGeneration
public void emitLoadLocal(org.extendj.ast.CodeGeneration gen,
                          int pos)
Overrides:emitLoadLocal in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 327
Aspect
CodeGeneration
public void emitStoreLocal(org.extendj.ast.CodeGeneration gen,
                           int pos)
Overrides:emitStoreLocal in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 470
Aspect
CodeGeneration
public void branchEQ(org.extendj.ast.CodeGeneration gen,
                     int label)
Overrides:branchEQ in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 793
Aspect
CodeGenerationBranch
public void branchNE(org.extendj.ast.CodeGeneration gen,
                     int label)
Overrides:branchNE in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 802
Aspect
CodeGenerationBranch
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class TypeDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class TypeDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 27
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class TypeDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 33
public void flushAttrCache()
Overrides:flushAttrCache in class TypeDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 39
public void flushCollectionCache()
Overrides:flushCollectionCache in class TypeDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 49
public void flushRewriteCache()
Overrides:flushRewriteCache in class TypeDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 55
public ReferenceType clone()
                    throws java.lang.CloneNotSupportedException
Overrides:clone in class TypeDecl
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 61
@Deprecated
public abstract ReferenceType 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.

Specified by:fullCopy in class TypeDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 72
public abstract ReferenceType treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Specified by:treeCopyNoTransform in class TypeDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 80
public abstract ReferenceType 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.
Specified by:treeCopy in class TypeDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 88
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Overrides:setModifiers in class TypeDecl
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Overrides:getModifiers in class TypeDecl
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Overrides:getModifiersNoTransform in class TypeDecl
Returns:
The current node used as the Modifiers child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class TypeDecl
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 TypeDecl
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 TypeDecl
Returns:
The value for the lexeme ID.
public void setBodyDeclList(List<BodyDecl> list)
Replaces the BodyDecl list.
Overrides:setBodyDeclList in class TypeDecl
Parameters:
list - The new list node to be used as the BodyDecl list.
public int getNumBodyDecl()
Retrieves the number of children in the BodyDecl list.
Overrides:getNumBodyDecl in class TypeDecl
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 TypeDecl
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 TypeDecl
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 TypeDecl
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 TypeDecl
Parameters:
node - The element to append to the BodyDecl list.
public void addBodyDeclNoTransform(BodyDecl node)
Overrides:addBodyDeclNoTransform in class TypeDecl
public void setBodyDecl(BodyDecl node,
                        int i)
Replaces the BodyDecl list element at index i with the new node node.
Overrides:setBodyDecl in class TypeDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the BodyDecl list.
Overrides:getBodyDeclList in class TypeDecl
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Overrides:getBodyDeclsNoTransform in class TypeDecl
Returns:
The node representing the BodyDecl list.
public void emitCastTo(org.extendj.ast.CodeGeneration gen,
                       TypeDecl type)
Source
Declared in /home/jesper/git/extendj/java5/backend/AutoBoxingCodegen.jrag at line 125
Aspect
AutoBoxingCodegen
Overrides:rewriteTo in class TypeDecl
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 bcFields_computed
protected java.util.Collection bcFields_value
protected boolean jvmName_computed
protected java.lang.String jvmName_value
protected boolean unboxed_computed
public static final org.extendj.ast.SimpleSet emptySet
public static final org.extendj.ast.SimpleSet fullSet

Inherited Members

Attributes inherited from org.extendj.ast.TypeDecl

Attributes inherited from org.extendj.ast.ASTNode

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

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value