org.jetbrains.kotlin.resolve.lazy.descriptors
Class LazyClassDescriptor

java.lang.Object
  extended by org.jetbrains.kotlin.descriptors.impl.AbstractClassDescriptor
      extended by org.jetbrains.kotlin.descriptors.impl.ClassDescriptorBase
          extended by org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassDescriptor
All Implemented Interfaces:
Annotated, ClassDescriptor, ClassDescriptorWithResolutionScopes, ClassifierDescriptor, ClassOrPackageFragmentDescriptor, DeclarationDescriptor, DeclarationDescriptorNonRoot, DeclarationDescriptorWithSource, DeclarationDescriptorWithVisibility, MemberDescriptor, Named, LazyEntity

public class LazyClassDescriptor
extends ClassDescriptorBase
implements ClassDescriptorWithResolutionScopes, LazyEntity


Field Summary
 
Fields inherited from class org.jetbrains.kotlin.descriptors.impl.AbstractClassDescriptor
defaultType
 
Constructor Summary
LazyClassDescriptor(LazyClassContext c, DeclarationDescriptor containingDeclaration, Name name, JetClassLikeInfo classLikeInfo)
           
 
Method Summary
protected  LazyClassMemberScope createMemberScope(LazyClassContext c, ClassMemberDeclarationProvider declarationProvider)
           
 void forceResolveAllContents()
           
 Annotations getAnnotations()
           
 LazyClassDescriptor getCompanionObjectDescriptor()
           
 java.util.Collection<ConstructorDescriptor> getConstructors()
           
 Annotations getDanglingAnnotations()
           
 java.util.Collection<CallableMemberDescriptor> getDeclaredCallableMembers()
           
 java.util.List<TypeParameterDescriptor> getDeclaredTypeParameters()
          It may differ from 'typeConstructor.parameters' in current class is inner, 'typeConstructor.parameters' contains captured parameters from outer declaration.
 java.util.List<ClassDescriptor> getDescriptorsForExtraCompanionObjects()
           
 ClassKind getKind()
           
 Modality getModality()
           
protected  LexicalScope getOuterScope()
           
 LexicalScope getScopeForClassHeaderResolution()
           
 LexicalScope getScopeForInitializerResolution()
           
 LexicalScope getScopeForMemberDeclarationResolution()
           
 LexicalScope getScopeForStaticMemberDeclarationResolution()
           
 MemberScope getStaticScope()
           
 TypeConstructor getTypeConstructor()
           
 MemberScope getUnsubstitutedMemberScope()
           
 ConstructorDescriptor getUnsubstitutedPrimaryConstructor()
           
 Visibility getVisibility()
           
 boolean isCompanionObject()
           
 boolean isData()
           
 boolean isInner()
           
 void resolveMemberHeaders()
           
 java.lang.String toString()
           
 
Methods inherited from class org.jetbrains.kotlin.descriptors.impl.ClassDescriptorBase
getContainingDeclaration, getSource
 
Methods inherited from class org.jetbrains.kotlin.descriptors.impl.AbstractClassDescriptor
accept, acceptVoid, getDefaultType, getMemberScope, getMemberScope, getName, getOriginal, getThisAsReceiverParameter, getUnsubstitutedInnerClassesScope, substitute
 
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.ClassDescriptor
getContainingDeclaration, getDefaultType, getMemberScope, getMemberScope, getThisAsReceiverParameter, getUnsubstitutedInnerClassesScope, substitute
 
Methods inherited from interface org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource
getOriginal, getSource
 

Constructor Detail

LazyClassDescriptor

public LazyClassDescriptor(@NotNull
                           LazyClassContext c,
                           @NotNull
                           DeclarationDescriptor containingDeclaration,
                           @NotNull
                           Name name,
                           @NotNull
                           JetClassLikeInfo classLikeInfo)
Method Detail

createMemberScope

@NotNull
protected LazyClassMemberScope createMemberScope(@NotNull
                                                         LazyClassContext c,
                                                         @NotNull
                                                         ClassMemberDeclarationProvider declarationProvider)

getUnsubstitutedMemberScope

@NotNull
public MemberScope getUnsubstitutedMemberScope()
Specified by:
getUnsubstitutedMemberScope in interface ClassDescriptor

getOuterScope

@NotNull
protected LexicalScope getOuterScope()

getScopeForClassHeaderResolution

@NotNull
public LexicalScope getScopeForClassHeaderResolution()
Specified by:
getScopeForClassHeaderResolution in interface ClassDescriptorWithResolutionScopes

getScopeForMemberDeclarationResolution

@NotNull
public LexicalScope getScopeForMemberDeclarationResolution()
Specified by:
getScopeForMemberDeclarationResolution in interface ClassDescriptorWithResolutionScopes

getScopeForStaticMemberDeclarationResolution

@NotNull
public LexicalScope getScopeForStaticMemberDeclarationResolution()
Specified by:
getScopeForStaticMemberDeclarationResolution in interface ClassDescriptorWithResolutionScopes

getScopeForInitializerResolution

@NotNull
public LexicalScope getScopeForInitializerResolution()
Specified by:
getScopeForInitializerResolution in interface ClassDescriptorWithResolutionScopes

getDeclaredCallableMembers

@NotNull
public java.util.Collection<CallableMemberDescriptor> getDeclaredCallableMembers()
Specified by:
getDeclaredCallableMembers in interface ClassDescriptorWithResolutionScopes

getStaticScope

@NotNull
public MemberScope getStaticScope()
Specified by:
getStaticScope in interface ClassDescriptor

getConstructors

@NotNull
public java.util.Collection<ConstructorDescriptor> getConstructors()
Specified by:
getConstructors in interface ClassDescriptor

getUnsubstitutedPrimaryConstructor

public ConstructorDescriptor getUnsubstitutedPrimaryConstructor()
Specified by:
getUnsubstitutedPrimaryConstructor in interface ClassDescriptor

getTypeConstructor

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

getCompanionObjectDescriptor

public LazyClassDescriptor getCompanionObjectDescriptor()
Specified by:
getCompanionObjectDescriptor in interface ClassDescriptor
Specified by:
getCompanionObjectDescriptor in interface ClassDescriptorWithResolutionScopes
Returns:
nested object declared as 'companion' if one is present.

getDescriptorsForExtraCompanionObjects

@NotNull
@ReadOnly
public java.util.List<ClassDescriptor> getDescriptorsForExtraCompanionObjects()

getKind

@NotNull
public ClassKind getKind()
Specified by:
getKind in interface ClassDescriptor

getModality

@NotNull
public Modality getModality()
Specified by:
getModality in interface ClassDescriptor
Specified by:
getModality in interface MemberDescriptor

getVisibility

@NotNull
public Visibility getVisibility()
Specified by:
getVisibility in interface ClassDescriptor
Specified by:
getVisibility in interface DeclarationDescriptorWithVisibility
Specified by:
getVisibility in interface MemberDescriptor

isInner

public boolean isInner()
Specified by:
isInner in interface ClassDescriptor
Returns:
true if this class contains a reference to its outer class (as opposed to static nested class)

isData

public boolean isData()
Specified by:
isData in interface ClassDescriptor

isCompanionObject

public boolean isCompanionObject()
Specified by:
isCompanionObject in interface ClassDescriptor

getAnnotations

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

getDanglingAnnotations

@NotNull
public Annotations getDanglingAnnotations()

toString

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

forceResolveAllContents

public void forceResolveAllContents()
Specified by:
forceResolveAllContents in interface LazyEntity

resolveMemberHeaders

public void resolveMemberHeaders()

getDeclaredTypeParameters

@NotNull
public java.util.List<TypeParameterDescriptor> getDeclaredTypeParameters()
Description copied from interface: ClassDescriptor
It may differ from 'typeConstructor.parameters' in current class is inner, 'typeConstructor.parameters' contains captured parameters from outer declaration.

Specified by:
getDeclaredTypeParameters in interface ClassDescriptor
Returns:
list of type parameters actually declared type parameters in current class