Load additional JDK functions into built-ins member scope
#KT-5990 Fixed #KT-7127 Fixed #KT-10370 Fixed
This commit is contained in:
+6
-1
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.analyzer.AnalysisResult;
|
||||
import org.jetbrains.kotlin.context.ContextKt;
|
||||
import org.jetbrains.kotlin.context.ModuleContext;
|
||||
import org.jetbrains.kotlin.context.MutableModuleContext;
|
||||
import org.jetbrains.kotlin.context.ProjectContext;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
|
||||
import org.jetbrains.kotlin.descriptors.PackagePartProvider;
|
||||
@@ -161,9 +162,13 @@ public enum TopDownAnalyzerFacadeForJVM {
|
||||
|
||||
@NotNull
|
||||
public static MutableModuleContext createContextWithSealedModule(@NotNull Project project, @NotNull String moduleName) {
|
||||
ProjectContext projectContext = ContextKt.ProjectContext(project);
|
||||
JvmBuiltIns builtIns = new JvmBuiltIns(projectContext.getStorageManager());
|
||||
MutableModuleContext context = ContextKt.ContextForNewModule(
|
||||
project, Name.special("<" + moduleName + ">"), JvmPlatform.INSTANCE, JvmBuiltIns.getInstance()
|
||||
projectContext, Name.special("<" + moduleName + ">"), JvmPlatform.INSTANCE,
|
||||
builtIns
|
||||
);
|
||||
builtIns.setOwnerModuleDescriptor(context.getModule());
|
||||
context.setDependencies(context.getModule(), context.getBuiltIns().getBuiltInsModule());
|
||||
return context;
|
||||
}
|
||||
|
||||
+2
-1
@@ -17,12 +17,13 @@
|
||||
package org.jetbrains.kotlin.synthetic
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
|
||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
||||
|
||||
fun FunctionDescriptor.hasJavaOriginInHierarchy(): Boolean {
|
||||
return if (original.overriddenDescriptors.isEmpty())
|
||||
containingDeclaration is JavaClassDescriptor
|
||||
this is JavaCallableMemberDescriptor || containingDeclaration is JavaClassDescriptor
|
||||
else
|
||||
original.overriddenDescriptors.any { it.hasJavaOriginInHierarchy() }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user