AST
node type PrimitiveType

General Info

Production
PrimitiveType : TypeDecl ::= Modifiers <ID:String> [SuperClassAccess:Access] BodyDecl*;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.TypeDecl
              extended by AST.PrimitiveType
All Implemented Interfaces:
SimpleSet, VariableScope, java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator
Direct Known Subclasses:
BooleanType, EmptyType, NumericType

Nested classes/interfaces inherited from interface AST.SimpleSet

Description

Source
Declared in Java1.4Frontend/java.ast at line 45

Member Filters

API level:

Aspect:

Constructors

public PrimitiveType()
 
public PrimitiveType(Modifiers p0,
                     java.lang.String p1,
                     Opt<Access> p2,
                     List<BodyDecl> p3)
 
public PrimitiveType(Modifiers p0,
                     beaver.Symbol p1,
                     Opt<Access> p2,
                     List<BodyDecl> p3)
 

Attributes

syn boolean wideningConversionTo(TypeDecl type)
Overrides:wideningConversionTo in class TypeDecl
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 17
Aspect
TypeConversion
syn boolean narrowingConversionTo(TypeDecl type)
Overrides:narrowingConversionTo in class TypeDecl
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 27
Aspect
TypeConversion
syn boolean isPrimitiveType()
Overrides:isPrimitiveType in class TypeDecl
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 168
Aspect
TypeAnalysis
syn boolean isPrimitive()
Overrides:isPrimitive in class TypeDecl
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 221
Aspect
TypeAnalysis
syn boolean instanceOf(TypeDecl type)
Overrides:instanceOf in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 390
Aspect
GenericsSubtype
Overrides:isSupertypeOfPrimitiveType in class TypeDecl
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 475
Aspect
TypeWideningAndIdentity
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 612
Aspect
SuperClasses
syn int variableSize()
Overrides:variableSize in class TypeDecl
Source
Declared in Java1.4Backend/LocalNum.jrag at line 124
Aspect
LocalNum
syn boolean subtype(TypeDecl type)
Overrides:subtype in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 410
Aspect
GenericsSubtype
Overrides:supertypePrimitiveType in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 472
Aspect
GenericsSubtype
syn java.lang.String fieldTypeSignature()
Overrides:fieldTypeSignature in class TypeDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 449
Aspect
GenericsCodegen
syn java.lang.String classTypeSignature()
Overrides:classTypeSignature in class TypeDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 455
Aspect
GenericsCodegen

Methods

public void flushCache()
Overrides:flushCache in class TypeDecl
public void flushCollectionCache()
Overrides:flushCollectionCache in class TypeDecl
public PrimitiveType clone()
                    throws java.lang.CloneNotSupportedException
Overrides:clone in class TypeDecl
Throws:
java.lang.CloneNotSupportedException
Overrides:copy in class ASTNode<ASTNode>
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:fullCopy in class ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
Overrides:createQualifiedAccess in class TypeDecl
Source
Declared in Java1.4Frontend/QualifiedNames.jrag at line 108
Aspect
CreateQualifiedAccesses
public boolean hasSuperclass()
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 608
Aspect
SuperClasses
public void emitReturn(CodeGeneration gen)
Overrides:emitReturn in class TypeDecl
Source
Declared in Java1.4Backend/CodeGeneration.jrag at line 614
Aspect
CodeGeneration
public void emitLoadLocal(CodeGeneration gen,
                          int pos)
Overrides:emitLoadLocal in class TypeDecl
Source
Declared in Java1.4Backend/CodeGeneration.jrag at line 635
Aspect
CodeGeneration
public void emitStoreLocal(CodeGeneration gen,
                           int pos)
Overrides:emitStoreLocal in class TypeDecl
Source
Declared in Java1.4Backend/CodeGeneration.jrag at line 748
Aspect
CodeGeneration
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class TypeDecl
protected int numChildren()
Overrides:numChildren in class TypeDecl
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class TypeDecl
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
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 setSuperClassAccessOpt(Opt<Access> opt)
Replaces the optional node for the SuperClassAccess child. This is the Opt node containing the child SuperClassAccess, not the actual child!
Parameters:
opt - The new node to be used as the optional node for the SuperClassAccess child.
public boolean hasSuperClassAccess()
Check whether the optional SuperClassAccess child exists.
Returns:
true if the optional SuperClassAccess child exists, false if it does not.
Retrieves the (optional) SuperClassAccess child.
Returns:
The SuperClassAccess child, if it exists. Returns null otherwise.
public void setSuperClassAccess(Access node)
Replaces the (optional) SuperClassAccess child.
Parameters:
node - The new node to be used as the SuperClassAccess child.
Retrieves the optional node for child SuperClassAccess. This is the Opt node containing the child SuperClassAccess, not the actual child!

This method does not invoke AST transformations.

Returns:
The optional node for child SuperClassAccess.
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 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: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.
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.
public boolean boxingConversionTo(TypeDecl typeDecl)
Overrides:Define_TypeDecl_hostType in class TypeDecl
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 577
Overrides:rewriteTo in class TypeDecl

Fields

protected java.util.Map instanceOf_TypeDecl_values
protected java.util.Map subtype_TypeDecl_values
protected boolean fieldTypeSignature_computed
protected java.lang.String fieldTypeSignature_value
protected boolean classTypeSignature_computed
protected java.lang.String classTypeSignature_value

Inherited Members

Attributes inherited from AST.TypeDecl

Attributes inherited from AST.ASTNode

Methods inherited from class AST.TypeDecl

Methods inherited from class 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

Methods inherited from interface AST.SimpleSet

Methods inherited from interface AST.VariableScope

Fields inherited from AST.TypeDecl

Fields inherited from AST.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value

Fields inherited from interface AST.SimpleSet