Make AnalyzerFacade an abstract class instead of interface
Seems to workaround some compiler bug
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user