Add package-level class descriptors generation to the SyntheticResolveExtension
required for extracting script descriptors generation to an extension
This commit is contained in:
+23
-7
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.resolve.extensions
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor
|
||||
import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor
|
||||
@@ -26,6 +27,7 @@ import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.lazy.LazyClassContext
|
||||
import org.jetbrains.kotlin.resolve.lazy.declarations.ClassMemberDeclarationProvider
|
||||
import org.jetbrains.kotlin.resolve.lazy.declarations.PackageMemberDeclarationProvider
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
||||
import java.util.*
|
||||
@@ -66,13 +68,18 @@ interface SyntheticResolveExtension {
|
||||
) =
|
||||
instances.forEach {
|
||||
withLinkageErrorLogger(it) {
|
||||
generateSyntheticClasses(
|
||||
thisDescriptor,
|
||||
name,
|
||||
ctx,
|
||||
declarationProvider,
|
||||
result
|
||||
)
|
||||
generateSyntheticClasses(thisDescriptor, name, ctx, declarationProvider, result)
|
||||
}
|
||||
}
|
||||
|
||||
override fun generateSyntheticClasses(
|
||||
thisDescriptor: PackageFragmentDescriptor, name: Name,
|
||||
ctx: LazyClassContext, declarationProvider: PackageMemberDeclarationProvider,
|
||||
result: MutableSet<ClassDescriptor>
|
||||
) =
|
||||
instances.forEach {
|
||||
withLinkageErrorLogger(it) {
|
||||
generateSyntheticClasses(thisDescriptor, name, ctx, declarationProvider, result)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,6 +146,15 @@ interface SyntheticResolveExtension {
|
||||
) {
|
||||
}
|
||||
|
||||
fun generateSyntheticClasses(
|
||||
thisDescriptor: PackageFragmentDescriptor,
|
||||
name: Name,
|
||||
ctx: LazyClassContext,
|
||||
declarationProvider: PackageMemberDeclarationProvider,
|
||||
result: MutableSet<ClassDescriptor>
|
||||
) {
|
||||
}
|
||||
|
||||
fun generateSyntheticMethods(
|
||||
thisDescriptor: ClassDescriptor,
|
||||
name: Name,
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ class LazyPackageMemberScope(
|
||||
getScopeForMemberDeclarationResolution(declaration)
|
||||
|
||||
override fun getNonDeclaredClasses(name: Name, result: MutableSet<ClassDescriptor>) {
|
||||
// No extra classes
|
||||
c.syntheticResolveExtension.generateSyntheticClasses(thisDescriptor, name, c, declarationProvider, result)
|
||||
}
|
||||
|
||||
override fun getNonDeclaredFunctions(name: Name, result: MutableSet<SimpleFunctionDescriptor>) {
|
||||
|
||||
Reference in New Issue
Block a user