org.jetbrains.kotlin.descriptors.impl
Class AbstractTypeParameterDescriptor

java.lang.Object
  extended by org.jetbrains.kotlin.descriptors.annotations.AnnotatedImpl
      extended by org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorImpl
          extended by org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorNonRootImpl
              extended by org.jetbrains.kotlin.descriptors.impl.AbstractTypeParameterDescriptor
All Implemented Interfaces:
Annotated, ClassifierDescriptor, DeclarationDescriptor, DeclarationDescriptorNonRoot, DeclarationDescriptorWithSource, Named, TypeParameterDescriptor
Direct Known Subclasses:
AbstractLazyTypeParameterDescriptor, TypeParameterDescriptorImpl

public abstract class AbstractTypeParameterDescriptor
extends DeclarationDescriptorNonRootImpl
implements TypeParameterDescriptor


Field Summary
static java.util.List<KotlinType> FALLBACK_UPPER_BOUNDS_ON_RECURSION
           
 
Constructor Summary
protected AbstractTypeParameterDescriptor(StorageManager storageManager, DeclarationDescriptor containingDeclaration, Annotations annotations, Name name, Variance variance, boolean isReified, int index, SourceElement source)
           
 
Method Summary
<R,D> R
accept(DeclarationDescriptorVisitor<R,D> visitor, D data)
           
protected abstract  TypeConstructor createTypeConstructor()
           
 KotlinType getDefaultType()
           
 int getIndex()
           
 java.util.List<KotlinType> getLowerBounds()
           
protected abstract  SupertypeLoopChecker getSupertypeLoopChecker()
           
 TypeConstructor getTypeConstructor()
           
 java.util.List<KotlinType> getUpperBounds()
           
 Variance getVariance()
           
 boolean isReified()
           
protected abstract  void reportCycleError(KotlinType type)
           
protected abstract  java.util.List<KotlinType> resolveUpperBounds()
           
 TypeParameterDescriptor substitute(TypeSubstitutor substitutor)
          Deprecated. 
 
Methods inherited from class org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorNonRootImpl
getContainingDeclaration, getOriginal, getSource
 
Methods inherited from class org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorImpl
acceptVoid, getName, toString, toString
 
Methods inherited from class org.jetbrains.kotlin.descriptors.annotations.AnnotatedImpl
getAnnotations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jetbrains.kotlin.descriptors.DeclarationDescriptorNonRoot
getContainingDeclaration
 
Methods inherited from interface org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource
getOriginal, getSource
 
Methods inherited from interface org.jetbrains.kotlin.descriptors.DeclarationDescriptor
acceptVoid
 
Methods inherited from interface org.jetbrains.kotlin.descriptors.annotations.Annotated
getAnnotations
 
Methods inherited from interface org.jetbrains.kotlin.descriptors.Named
getName
 

Field Detail

FALLBACK_UPPER_BOUNDS_ON_RECURSION

public static final java.util.List<KotlinType> FALLBACK_UPPER_BOUNDS_ON_RECURSION
Constructor Detail

AbstractTypeParameterDescriptor

protected AbstractTypeParameterDescriptor(@NotNull
                                          StorageManager storageManager,
                                          @NotNull
                                          DeclarationDescriptor containingDeclaration,
                                          @NotNull
                                          Annotations annotations,
                                          @NotNull
                                          Name name,
                                          @NotNull
                                          Variance variance,
                                          boolean isReified,
                                          int index,
                                          @NotNull
                                          SourceElement source)
Method Detail

getSupertypeLoopChecker

@NotNull
protected abstract SupertypeLoopChecker getSupertypeLoopChecker()

reportCycleError

protected abstract void reportCycleError(@NotNull
                                         KotlinType type)

resolveUpperBounds

@NotNull
protected abstract java.util.List<KotlinType> resolveUpperBounds()

createTypeConstructor

@NotNull
protected abstract TypeConstructor createTypeConstructor()

getVariance

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

isReified

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

getIndex

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

getUpperBounds

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

getTypeConstructor

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

getDefaultType

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

getLowerBounds

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

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