org.jetbrains.jet.lang.resolve.lazy
Class ResolveSession

java.lang.Object
  extended by org.jetbrains.jet.lang.resolve.lazy.ResolveSession
All Implemented Interfaces:
KotlinCodeAnalyzer

public class ResolveSession
extends java.lang.Object
implements KotlinCodeAnalyzer


Field Summary
static com.intellij.util.Function<FqName,Name> NO_ALIASES
           
 
Constructor Summary
ResolveSession(com.intellij.openapi.project.Project project, StorageManager storageManager, ModuleDescriptorImpl rootDescriptor, DeclarationProviderFactory declarationProviderFactory)
           
ResolveSession(com.intellij.openapi.project.Project project, StorageManager storageManager, ModuleDescriptorImpl rootDescriptor, DeclarationProviderFactory declarationProviderFactory, BindingTrace delegationTrace)
           
ResolveSession(com.intellij.openapi.project.Project project, StorageManager storageManager, ModuleDescriptorImpl rootDescriptor, DeclarationProviderFactory declarationProviderFactory, com.intellij.util.Function<FqName,Name> classifierAliases, com.google.common.base.Predicate<FqNameUnsafe> specialClasses, BindingTrace delegationTrace)
          Deprecated. 
 
Method Summary
 void forceResolveAll()
          Forces all descriptors to be resolved.
 BindingContext getBindingContext()
           
 ClassDescriptor getClassDescriptor(JetClassOrObject classOrObject)
           
 DeclarationProviderFactory getDeclarationProviderFactory()
           
 InjectorForLazyResolve getInjector()
           
 NamespaceDescriptor getPackageDescriptor(Name shortName)
           
 NamespaceDescriptor getPackageDescriptorByFqName(FqName fqName)
           
 ModuleDescriptor getRootModuleDescriptor()
           
 StorageManager getStorageManager()
           
 BindingTrace getTrace()
           
 boolean isClassSpecial(FqNameUnsafe fqName)
           
 Name resolveClassifierAlias(FqName packageName, Name alias)
           
 DeclarationDescriptor resolveToDescriptor(JetDeclaration declaration)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_ALIASES

public static final com.intellij.util.Function<FqName,Name> NO_ALIASES
Constructor Detail

ResolveSession

public ResolveSession(@NotNull
                      com.intellij.openapi.project.Project project,
                      @NotNull
                      StorageManager storageManager,
                      @NotNull
                      ModuleDescriptorImpl rootDescriptor,
                      @NotNull
                      DeclarationProviderFactory declarationProviderFactory)

ResolveSession

public ResolveSession(@NotNull
                      com.intellij.openapi.project.Project project,
                      @NotNull
                      StorageManager storageManager,
                      @NotNull
                      ModuleDescriptorImpl rootDescriptor,
                      @NotNull
                      DeclarationProviderFactory declarationProviderFactory,
                      @NotNull
                      BindingTrace delegationTrace)

ResolveSession

@Deprecated
public ResolveSession(@NotNull
                                 com.intellij.openapi.project.Project project,
                                 @NotNull
                                 StorageManager storageManager,
                                 @NotNull
                                 ModuleDescriptorImpl rootDescriptor,
                                 @NotNull
                                 DeclarationProviderFactory declarationProviderFactory,
                                 @NotNull
                                 com.intellij.util.Function<FqName,Name> classifierAliases,
                                 @NotNull
                                 com.google.common.base.Predicate<FqNameUnsafe> specialClasses,
                                 @NotNull
                                 BindingTrace delegationTrace)
Deprecated. 

Method Detail

getInjector

@NotNull
public InjectorForLazyResolve getInjector()

isClassSpecial

public boolean isClassSpecial(@NotNull
                              FqNameUnsafe fqName)

getRootModuleDescriptor

public ModuleDescriptor getRootModuleDescriptor()
Specified by:
getRootModuleDescriptor in interface KotlinCodeAnalyzer

getStorageManager

@NotNull
public StorageManager getStorageManager()

getPackageDescriptor

@Nullable
public NamespaceDescriptor getPackageDescriptor(@NotNull
                                                         Name shortName)
Specified by:
getPackageDescriptor in interface KotlinCodeAnalyzer

getPackageDescriptorByFqName

@Nullable
public NamespaceDescriptor getPackageDescriptorByFqName(FqName fqName)
Specified by:
getPackageDescriptorByFqName in interface KotlinCodeAnalyzer

getClassDescriptor

@NotNull
public ClassDescriptor getClassDescriptor(@NotNull
                                                  JetClassOrObject classOrObject)
Specified by:
getClassDescriptor in interface KotlinCodeAnalyzer

getBindingContext

@NotNull
public BindingContext getBindingContext()
Specified by:
getBindingContext in interface KotlinCodeAnalyzer

getTrace

@NotNull
public BindingTrace getTrace()

getDeclarationProviderFactory

@NotNull
public DeclarationProviderFactory getDeclarationProviderFactory()

resolveToDescriptor

@NotNull
public DeclarationDescriptor resolveToDescriptor(JetDeclaration declaration)
Specified by:
resolveToDescriptor in interface KotlinCodeAnalyzer

resolveClassifierAlias

@NotNull
public Name resolveClassifierAlias(@NotNull
                                           FqName packageName,
                                           @NotNull
                                           Name alias)

forceResolveAll

public void forceResolveAll()
Description copied from interface: KotlinCodeAnalyzer
Forces all descriptors to be resolved. Use this method when laziness plays against you, e.g. when lazy descriptors may be accessed in a multi-threaded setting

Specified by:
forceResolveAll in interface KotlinCodeAnalyzer