From 6c48c29bf90fac2bb5572bbdb5fe0d3b24fab72a Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Thu, 6 Aug 2015 18:03:14 +0300 Subject: [PATCH] Make AnalyzerFacade an abstract class instead of interface Seems to workaround some compiler bug --- .../org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt | 2 +- .../src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt | 6 +++--- .../kotlin/idea/caches/resolve/JsAnalyzerFacade.kt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt index e89a266fa03..c7eab8ee791 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmAnalyzerFacade.kt @@ -41,7 +41,7 @@ public class JvmPlatformParameters( ) : PlatformAnalysisParameters -public object JvmAnalyzerFacade : AnalyzerFacade { +public object JvmAnalyzerFacade : AnalyzerFacade() { override fun createResolverForModule( moduleInfo: M, moduleDescriptor: ModuleDescriptorImpl, diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt index 7bed38433b0..6ee9829b2ee 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt @@ -121,7 +121,7 @@ public interface ModuleInfo { } } -public interface AnalyzerFacade { +public abstract class AnalyzerFacade { public fun setupResolverForProject( projectContext: ProjectContext, modules: Collection, @@ -197,7 +197,7 @@ public interface AnalyzerFacade { return resolverForProject } - protected fun createResolverForModule( + protected abstract fun createResolverForModule( moduleInfo: M, moduleDescriptor: ModuleDescriptorImpl, moduleContext: ModuleContext, @@ -207,7 +207,7 @@ public interface AnalyzerFacade { resolverForProject: ResolverForProject ): ResolverForModule - public val moduleParameters: ModuleParameters + public abstract val moduleParameters: ModuleParameters } //NOTE: relies on delegate to be lazily computed and cached diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/JsAnalyzerFacade.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/JsAnalyzerFacade.kt index e004bf8cfae..d36c163cd02 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/JsAnalyzerFacade.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/JsAnalyzerFacade.kt @@ -36,7 +36,7 @@ import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils -public object JsAnalyzerFacade : AnalyzerFacade { +public object JsAnalyzerFacade : AnalyzerFacade() { override fun createResolverForModule( moduleInfo: M,