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
|
) : PlatformAnalysisParameters
|
||||||
|
|
||||||
|
|
||||||
public object JvmAnalyzerFacade : AnalyzerFacade<JvmPlatformParameters> {
|
public object JvmAnalyzerFacade : AnalyzerFacade<JvmPlatformParameters>() {
|
||||||
override fun <M : ModuleInfo> createResolverForModule(
|
override fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleInfo: M,
|
moduleInfo: M,
|
||||||
moduleDescriptor: ModuleDescriptorImpl,
|
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(
|
public fun <M : ModuleInfo> setupResolverForProject(
|
||||||
projectContext: ProjectContext,
|
projectContext: ProjectContext,
|
||||||
modules: Collection<M>,
|
modules: Collection<M>,
|
||||||
@@ -197,7 +197,7 @@ public interface AnalyzerFacade<in P : PlatformAnalysisParameters> {
|
|||||||
return resolverForProject
|
return resolverForProject
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun <M : ModuleInfo> createResolverForModule(
|
protected abstract fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleInfo: M,
|
moduleInfo: M,
|
||||||
moduleDescriptor: ModuleDescriptorImpl,
|
moduleDescriptor: ModuleDescriptorImpl,
|
||||||
moduleContext: ModuleContext,
|
moduleContext: ModuleContext,
|
||||||
@@ -207,7 +207,7 @@ public interface AnalyzerFacade<in P : PlatformAnalysisParameters> {
|
|||||||
resolverForProject: ResolverForProject<M>
|
resolverForProject: ResolverForProject<M>
|
||||||
): ResolverForModule
|
): ResolverForModule
|
||||||
|
|
||||||
public val moduleParameters: ModuleParameters
|
public abstract val moduleParameters: ModuleParameters
|
||||||
}
|
}
|
||||||
|
|
||||||
//NOTE: relies on delegate to be lazily computed and cached
|
//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.serialization.js.KotlinJavascriptSerializationUtil
|
||||||
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
||||||
|
|
||||||
public object JsAnalyzerFacade : AnalyzerFacade<PlatformAnalysisParameters> {
|
public object JsAnalyzerFacade : AnalyzerFacade<PlatformAnalysisParameters>() {
|
||||||
|
|
||||||
override fun <M : ModuleInfo> createResolverForModule(
|
override fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleInfo: M,
|
moduleInfo: M,
|
||||||
|
|||||||
Reference in New Issue
Block a user