AST
node type TypeVariable

General Info

Production
TypeVariable : ReferenceType ::= Modifiers <ID:String> BodyDecl* TypeBound:Access*;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.TypeDecl
              extended by AST.ReferenceType
                  extended by AST.TypeVariable
All Implemented Interfaces:
SimpleSet, VariableScope, java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator

Nested classes/interfaces inherited from interface AST.SimpleSet

Description

Source
Declared in Java1.5Frontend/Generics.ast at line 18

Member Filters

API level:

Aspect:

Constructors

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

Attributes

Source
Declared in Java1.5Frontend/GLBTypeFactory.jadd at line 12
Aspect
GreatestLowerBoundFactory
syn boolean involvesTypeParameters()
Overrides:involvesTypeParameters in class TypeDecl
Source
Declared in Java1.5Frontend/GenericMethodsInference.jrag at line 16
Aspect
GenericMethodsInference
Source
Declared in Java1.5Frontend/GenericTypeVariables.jrag at line 33
Aspect
GenericTypeVariables
syn java.util.Collection memberMethods(java.lang.String name)
Overrides:memberMethods in class TypeDecl
Source
Declared in Java1.4Frontend/LookupMethod.jrag at line 210
Aspect
MemberMethods
syn SimpleSet memberFields(java.lang.String name)
Overrides:memberFields in class TypeDecl
Source
Declared in Java1.5Frontend/GenericTypeVariables.jrag at line 50
Aspect
GenericTypeVariablesMembers
syn boolean castingConversionTo(TypeDecl type)
Overrides:castingConversionTo in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 86
Aspect
Generics
syn boolean isNestedType()
Overrides:isNestedType in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 148
Aspect
Generics
Overrides:erasure in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 352
Aspect
GenericsErasure
syn java.lang.String fullName()
Overrides:fullName in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 563
Aspect
LookupParTypeDecl
syn boolean sameSignature(Access a)
Overrides:sameSignature in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 571
Aspect
LookupParTypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 921
Aspect
LookupParTypeDecl
syn boolean usesTypeVariable()
Overrides:usesTypeVariable in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 1079
Aspect
LookupParTypeDecl
syn boolean accessibleFrom(TypeDecl type)
Overrides:accessibleFrom in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 1499
Aspect
NewGenerics
syn java.lang.String typeName()
Overrides:typeName in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 1501
Aspect
NewGenerics
syn boolean isTypeVariable()
Overrides:isTypeVariable in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsParTypeDecl.jrag at line 73
Aspect
GenericsParTypeDecl
syn boolean supertypeWildcard(WildcardType type)
Overrides:supertypeWildcard in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 46
Aspect
GenericsSubtype
Overrides:supertypeWildcardExtends in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 57
Aspect
GenericsSubtype
Overrides:supertypeWildcardSuper in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 66
Aspect
GenericsSubtype
syn boolean sameStructure(TypeDecl t)
Overrides:sameStructure in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 215
Aspect
GenericsSubtype
syn boolean supertypeArrayDecl(ArrayDecl type)
Overrides:supertypeArrayDecl in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 450
Aspect
GenericsSubtype
syn boolean subtype(TypeDecl type)
Overrides:subtype in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 290
Aspect
GenericsSubtype
Overrides:supertypeTypeVariable in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 291
Aspect
GenericsSubtype
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 314
Aspect
GenericsSubtype
syn boolean supertypeClassDecl(ClassDecl type)
Overrides:supertypeClassDecl in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 421
Aspect
GenericsSubtype
Overrides:supertypeInterfaceDecl in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 437
Aspect
GenericsSubtype
syn boolean instanceOf(TypeDecl type)
Overrides:instanceOf in class TypeDecl
Source
Declared in Java1.5Frontend/GenericsSubtype.jrag at line 400
Aspect
GenericsSubtype
syn java.lang.String typeDescriptor()
Overrides:typeDescriptor in class TypeDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 15
Aspect
GenericsCodegen
syn java.lang.String arrayTypeDescriptor()
Overrides:arrayTypeDescriptor in class TypeDecl
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 820
Aspect
CreateBCode
syn java.lang.String constantPoolName()
Overrides:constantPoolName in class TypeDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 172
Aspect
GenericsCodegen
Overrides:needsSignatureAttribute in class TypeDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 345
Aspect
GenericsCodegen
syn java.lang.String formalTypeParameter()
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 426
Aspect
GenericsCodegen
syn java.lang.String fieldTypeSignature()
Overrides:fieldTypeSignature in class TypeDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 445
Aspect
GenericsCodegen
syn java.lang.String classTypeSignature()
Overrides:classTypeSignature in class TypeDecl
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 454
Aspect
GenericsCodegen
syn java.lang.String classBound()
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 504
Aspect
GenericsCodegen
syn java.lang.String interfaceBounds()
Source
Declared in Java1.5Backend/GenericsCodegen.jrag at line 510
Aspect
GenericsCodegen
syn boolean isReifiable()
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 TypeDecl
See Also:
"JLSv3 §4.7"
Source
Declared in Java7Frontend/SafeVarargs.jrag at line 106
Aspect
SafeVarargs
Overrides:typeObject in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 919
Aspect
LookupParTypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 961
Aspect
LookupParTypeDecl

Methods

public void flushCache()
Overrides:flushCache in class ReferenceType
public void flushCollectionCache()
Overrides:flushCollectionCache in class ReferenceType
public TypeVariable clone()
                   throws java.lang.CloneNotSupportedException
Overrides:clone in class ReferenceType
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
public void nameCheck()
Overrides:nameCheck in class TypeDecl
Source
Declared in Java1.5Frontend/GenericTypeVariables.jrag at line 28
Aspect
GenericTypeVariables
public void typeCheck()
Overrides:typeCheck in class TypeDecl
Source
Declared in Java1.5Frontend/GenericTypeVariables.jrag at line 66
Aspect
GenricTypeVariablesTypeAnalysis
public Access substitute(Parameterization parTypeDecl)
Overrides:substitute in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 883
Aspect
LookupParTypeDecl
Overrides:substituteReturnType in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 928
Aspect
LookupParTypeDecl
Overrides:substituteParameterType in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 962
Aspect
LookupParTypeDecl
Overrides:createQualifiedAccess in class TypeDecl
Source
Declared in Java1.5Frontend/Generics.jrag at line 1495
Aspect
NewGenerics
public void toString(java.lang.StringBuffer s)
Overrides:toString in class ASTNode<ASTNode>
Source
Declared in Java1.5Frontend/GenericsPrettyPrint.jrag at line 11
Aspect
GenericsPrettyPrint
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class ReferenceType
protected int numChildren()
Overrides:numChildren in class ReferenceType
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ReferenceType
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Overrides:setModifiers in class ReferenceType
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Overrides:getModifiers in class ReferenceType
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Overrides:getModifiersNoTransform in class ReferenceType
Returns:
The current node used as the Modifiers child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class ReferenceType
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 ReferenceType
public java.lang.String getID()
Retrieves the value for the lexeme ID.
Overrides:getID in class ReferenceType
Returns:
The value for the lexeme ID.
public void setBodyDeclList(List<BodyDecl> list)
Replaces the BodyDecl list.
Overrides:setBodyDeclList in class ReferenceType
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 ReferenceType
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 ReferenceType
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 ReferenceType
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 ReferenceType
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 ReferenceType
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 ReferenceType
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.

This method does not invoke AST transformations.

Overrides:getBodyDeclsNoTransform in class ReferenceType
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.
Overrides:getBodyDeclList in class ReferenceType
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.

This method does not invoke AST transformations.

Overrides:getBodyDeclListNoTransform in class ReferenceType
Returns:
The node representing the BodyDecl list.
public void setTypeBoundList(List<Access> list)
Replaces the TypeBound list.
Parameters:
list - The new list node to be used as the TypeBound list.
public int getNumTypeBound()
Retrieves the number of children in the TypeBound list.
Returns:
Number of children in the TypeBound list.
Retrieves the number of children in the TypeBound list. Calling this method will not trigger rewrites..
Returns:
Number of children in the TypeBound list.
public Access getTypeBound(int i)
Retrieves the element at index i in the TypeBound list..
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the TypeBound list.
public void addTypeBound(Access node)
Append an element to the TypeBound list.
Parameters:
node - The element to append to the TypeBound list.
public void addTypeBoundNoTransform(Access node)
public void setTypeBound(Access node,
                         int i)
Replaces the TypeBound 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 TypeBound list.
Returns:
The node representing the TypeBound list.
Retrieves the TypeBound list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Returns:
The node representing the TypeBound list.
Overrides:Define_NameType_nameType in class TypeDecl
Source
Declared in Java1.5Frontend/GenericTypeVariables.jrag at line 13
Overrides:rewriteTo in class ReferenceType

Fields

protected boolean toInterface_computed
protected java.util.Map memberFields_String_values
protected java.util.Map castingConversionTo_TypeDecl_values
protected boolean erasure_computed
protected boolean fullName_computed
protected java.lang.String fullName_value
protected boolean lubType_computed
protected boolean usesTypeVariable_computed
protected boolean usesTypeVariable_value
protected java.util.Map accessibleFrom_TypeDecl_values
protected boolean typeName_computed
protected java.lang.String typeName_value
protected java.util.Map sameStructure_TypeDecl_values
protected java.util.Map subtype_TypeDecl_values
protected java.util.Map instanceOf_TypeDecl_values
protected boolean typeDescriptor_computed
protected java.lang.String typeDescriptor_value
protected boolean constantPoolName_computed
protected java.lang.String constantPoolName_value
protected boolean fieldTypeSignature_computed
protected java.lang.String fieldTypeSignature_value
protected boolean classTypeSignature_computed
protected java.lang.String classTypeSignature_value
protected boolean classBound_computed
protected java.lang.String classBound_value
protected boolean interfaceBounds_computed
protected java.lang.String interfaceBounds_value

Inherited Members

Attributes inherited from AST.ReferenceType

Attributes inherited from AST.TypeDecl

Attributes inherited from AST.ASTNode

Methods inherited from class AST.ReferenceType

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

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