Make AnalyzerFacade an abstract class instead of interface

Seems to workaround some compiler bug
This commit is contained in:
Pavel V. Talanov
2015-08-06 18:03:14 +03:00
parent 72710c0318
commit 6c48c29bf9
3 changed files with 5 additions and 5 deletions
@@ -41,7 +41,7 @@ public class JvmPlatformParameters(
) : PlatformAnalysisParameters
public object JvmAnalyzerFacade : AnalyzerFacade<JvmPlatformParameters> {
public object JvmAnalyzerFacade : AnalyzerFacade<JvmPlatformParameters>() {
override fun <M : ModuleInfo> createResolverForModule(
moduleInfo: M,
moduleDescriptor: ModuleDescriptorImpl,
@@ -121,7 +121,7 @@ public interface ModuleInfo {
}
}
public interface AnalyzerFacade<in P : PlatformAnalysisParameters> {
public abstract class AnalyzerFacade<in P : PlatformAnalysisParameters> {
public fun <M : ModuleInfo> setupResolverForProject(
projectContext: ProjectContext,
modules: Collection<M>,
@@ -197,7 +197,7 @@ public interface AnalyzerFacade<in P : PlatformAnalysisParameters> {
return resolverForProject
}
protected fun <M : ModuleInfo> createResolverForModule(
protected abstract fun <M : ModuleInfo> createResolverForModule(
moduleInfo: M,
moduleDescriptor: ModuleDescriptorImpl,
moduleContext: ModuleContext,
@@ -207,7 +207,7 @@ public interface AnalyzerFacade<in P : PlatformAnalysisParameters> {
resolverForProject: ResolverForProject<M>
): ResolverForModule
public val moduleParameters: ModuleParameters
public abstract val moduleParameters: ModuleParameters
}
//NOTE: relies on delegate to be lazily computed and cached
@@ -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<PlatformAnalysisParameters> {
public object JsAnalyzerFacade : AnalyzerFacade<PlatformAnalysisParameters>() {
override fun <M : ModuleInfo> createResolverForModule(
moduleInfo: M,