Skip to content

Commit

Permalink
Fix problem with several runtimes configured
Browse files Browse the repository at this point in the history
  • Loading branch information
pTalanov committed Dec 25, 2014
1 parent 63e9575 commit 2fe77d2
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 2 deletions.
Expand Up @@ -34,6 +34,7 @@ import org.jetbrains.jet.analyzer.ModuleInfo
import org.jetbrains.jet.analyzer.ModuleContent
import org.jetbrains.jet.di.InjectorForLazyResolveWithJava
import org.jetbrains.jet.lang.resolve.CodeAnalyzerInitializer
import com.intellij.psi.search.GlobalSearchScope

public class JvmResolverForModule(
override val lazyResolveSession: ResolveSession,
Expand All @@ -47,6 +48,7 @@ public class JvmPlatformParameters(

public object JvmAnalyzerFacade : AnalyzerFacade<JvmResolverForModule, JvmPlatformParameters> {
override fun <M : ModuleInfo> createResolverForModule(
moduleInfo: M,
project: Project,
globalContext: GlobalContext,
moduleDescriptor: ModuleDescriptorImpl,
Expand All @@ -56,7 +58,7 @@ public object JvmAnalyzerFacade : AnalyzerFacade<JvmResolverForModule, JvmPlatfo
): JvmResolverForModule {
val (syntheticFiles, moduleContentScope) = moduleContent
val declarationProviderFactory = DeclarationProviderFactoryService.createDeclarationProviderFactory(
project, globalContext.storageManager, syntheticFiles, moduleContentScope
project, globalContext.storageManager, syntheticFiles, if (moduleInfo.isLibrary) GlobalSearchScope.EMPTY_SCOPE else moduleContentScope
)

val moduleClassResolver = ModuleClassResolverImpl { javaClass ->
Expand Down
Expand Up @@ -83,6 +83,8 @@ public data class ModuleContent(
public trait PlatformAnalysisParameters

public trait ModuleInfo {
public val isLibrary: Boolean
get() = false
public val name: Name
public fun dependencies(): List<ModuleInfo>
public fun friends(): Collection<ModuleInfo> = listOf()
Expand Down Expand Up @@ -170,7 +172,7 @@ public trait AnalyzerFacade<A : ResolverForModule, in P : PlatformAnalysisParame
module ->
val descriptor = resolverForProject.descriptorForModule(module)
val resolverForModule = createResolverForModule(
project, globalContext, descriptor, modulesContent(module), platformParameters, resolverForProject
module, project, globalContext, descriptor, modulesContent(module), platformParameters, resolverForProject
)
assert(descriptor.isInitialized, "ModuleDescriptorImpl#initialize() should be called in createResolverForModule")
resolverForProject.resolverByModuleDescriptor[descriptor] = resolverForModule
Expand All @@ -182,6 +184,7 @@ public trait AnalyzerFacade<A : ResolverForModule, in P : PlatformAnalysisParame
}

protected fun <M : ModuleInfo> createResolverForModule(
moduleInfo: M,
project: Project,
globalContext: GlobalContext,
moduleDescriptor: ModuleDescriptorImpl,
Expand Down
Expand Up @@ -136,6 +136,9 @@ public data class LibraryInfo(val project: Project, val library: Library) : Idea

override fun contentScope() = LibraryWithoutSourceScope(project, library)

override val isLibrary: Boolean
get() = true

override fun dependencies(): List<IdeaModuleInfo> {
val result = LinkedHashSet<IdeaModuleInfo>()
result.add(this)
Expand All @@ -156,6 +159,9 @@ private data class LibrarySourceInfo(val project: Project, val library: Library)

override fun contentScope() = GlobalSearchScope.EMPTY_SCOPE

override val isLibrary: Boolean
get() = true

override fun dependencies(): List<IdeaModuleInfo> {
return listOf(this) + LibraryInfo(project, library).dependencies()
}
Expand Down
Expand Up @@ -42,6 +42,7 @@ public class JsResolverForModule(
public object JsAnalyzerFacade : AnalyzerFacade<JsResolverForModule, PlatformAnalysisParameters> {

override fun <M : ModuleInfo> createResolverForModule(
moduleInfo: M,
project: Project,
globalContext: GlobalContext,
moduleDescriptor: ModuleDescriptorImpl,
Expand Down

0 comments on commit 2fe77d2

Please sign in to comment.