org.jetbrains.jet.lang.descriptors.impl
Class AbstractLazyTypeParameterDescriptor

java.lang.Object
  extended by org.jetbrains.jet.lang.descriptors.impl.AbstractLazyTypeParameterDescriptor
All Implemented Interfaces:
Annotated, ClassifierDescriptor, DeclarationDescriptor, DeclarationDescriptorNonRoot, Named, TypeParameterDescriptor
Direct Known Subclasses:
DeserializedTypeParameterDescriptor, LazyTypeParameterDescriptor

public abstract class AbstractLazyTypeParameterDescriptor
extends java.lang.Object
implements TypeParameterDescriptor


Constructor Summary
AbstractLazyTypeParameterDescriptor(StorageManager storageManager, DeclarationDescriptor containingDeclaration, Name name, Variance variance, boolean isReified, int index)
           
 
Method Summary
<R,D> R
accept(DeclarationDescriptorVisitor<R,D> visitor, D data)
           
 void acceptVoid(DeclarationDescriptorVisitor<java.lang.Void,java.lang.Void> visitor)
           
 Annotations getAnnotations()
           
 JetType getClassObjectType()
           
 DeclarationDescriptor getContainingDeclaration()
           
 JetType getDefaultType()
           
 int getIndex()
           
 java.util.Set<JetType> getLowerBounds()
           
 JetType getLowerBoundsAsType()
           
 Name getName()
           
 DeclarationDescriptor getOriginal()
           
 TypeConstructor getTypeConstructor()
           
 java.util.Set<JetType> getUpperBounds()
           
 JetType getUpperBoundsAsType()
           
 Variance getVariance()
           
 boolean isReified()
           
protected abstract  java.util.Set<JetType> resolveUpperBounds()
           
 TypeParameterDescriptor substitute(TypeSubstitutor substitutor)
          Deprecated. 
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractLazyTypeParameterDescriptor

public AbstractLazyTypeParameterDescriptor(@NotNull
                                           StorageManager storageManager,
                                           @NotNull
                                           DeclarationDescriptor containingDeclaration,
                                           @NotNull
                                           Name name,
                                           @NotNull
                                           Variance variance,
                                           boolean isReified,
                                           int index)
Method Detail

isReified

public boolean isReified()
Specified by:
isReified in interface TypeParameterDescriptor

getVariance

@NotNull
public Variance getVariance()
Specified by:
getVariance in interface TypeParameterDescriptor

getUpperBounds

@NotNull
public java.util.Set<JetType> getUpperBounds()
Specified by:
getUpperBounds in interface TypeParameterDescriptor

resolveUpperBounds

@NotNull
@ReadOnly
protected abstract java.util.Set<JetType> resolveUpperBounds()

getUpperBoundsAsType

@NotNull
public JetType getUpperBoundsAsType()
Specified by:
getUpperBoundsAsType in interface TypeParameterDescriptor

getLowerBounds

@NotNull
public java.util.Set<JetType> getLowerBounds()
Specified by:
getLowerBounds in interface TypeParameterDescriptor

getLowerBoundsAsType

@NotNull
public JetType getLowerBoundsAsType()
Specified by:
getLowerBoundsAsType in interface TypeParameterDescriptor

getTypeConstructor

@NotNull
public TypeConstructor getTypeConstructor()
Specified by:
getTypeConstructor in interface ClassifierDescriptor
Specified by:
getTypeConstructor in interface TypeParameterDescriptor

getDefaultType

@NotNull
public JetType getDefaultType()
Specified by:
getDefaultType in interface ClassifierDescriptor

getClassObjectType

public JetType getClassObjectType()
Specified by:
getClassObjectType in interface ClassifierDescriptor

getOriginal

@NotNull
public DeclarationDescriptor getOriginal()
Specified by:
getOriginal in interface DeclarationDescriptor
Returns:
The descriptor that corresponds to the original declaration of this element. A descriptor can be obtained from its original by substituting type arguments (of the declaring class or of the element itself). returns this object if the current descriptor is original itself

getContainingDeclaration

@NotNull
public DeclarationDescriptor getContainingDeclaration()
Specified by:
getContainingDeclaration in interface DeclarationDescriptor
Specified by:
getContainingDeclaration in interface DeclarationDescriptorNonRoot

substitute

@NotNull
@Deprecated
public TypeParameterDescriptor substitute(@NotNull
                                                             TypeSubstitutor substitutor)
Deprecated. 

Specified by:
substitute in interface DeclarationDescriptor
Specified by:
substitute in interface TypeParameterDescriptor

accept

public <R,D> R accept(DeclarationDescriptorVisitor<R,D> visitor,
                      D data)
Specified by:
accept in interface DeclarationDescriptor

acceptVoid

public void acceptVoid(DeclarationDescriptorVisitor<java.lang.Void,java.lang.Void> visitor)
Specified by:
acceptVoid in interface DeclarationDescriptor

getIndex

public int getIndex()
Specified by:
getIndex in interface TypeParameterDescriptor

getAnnotations

@NotNull
public Annotations getAnnotations()
Specified by:
getAnnotations in interface Annotated

getName

@NotNull
public Name getName()
Specified by:
getName in interface Named

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object