Use JvmResolveUtil#createContainer in KotlinOverloadTest and KotlinOverridingTest
This commit is contained in:
@@ -16,8 +16,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.types;
|
||||
|
||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||
import org.jetbrains.kotlin.container.ComponentProvider;
|
||||
import org.jetbrains.kotlin.container.DslKt;
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.psi.KtNamedFunction;
|
||||
@@ -26,14 +27,14 @@ import org.jetbrains.kotlin.resolve.FunctionDescriptorResolver;
|
||||
import org.jetbrains.kotlin.resolve.OverloadChecker;
|
||||
import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator;
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfoFactory;
|
||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
|
||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.KotlinTestWithEnvironment;
|
||||
import org.jetbrains.kotlin.tests.di.InjectionKt;
|
||||
|
||||
public class KotlinOverloadTest extends KotlinTestWithEnvironment {
|
||||
private final ModuleDescriptor root = KotlinTestUtils.createEmptyModule("<test_root>");
|
||||
private ModuleDescriptor module;
|
||||
private FunctionDescriptorResolver functionDescriptorResolver;
|
||||
private final OverloadChecker overloadChecker = new OverloadChecker(TypeSpecificityComparator.NONE.INSTANCE);
|
||||
|
||||
@@ -45,11 +46,14 @@ public class KotlinOverloadTest extends KotlinTestWithEnvironment {
|
||||
@Override
|
||||
public void setUp() throws Exception {
|
||||
super.setUp();
|
||||
functionDescriptorResolver = InjectionKt.createContainerForTests(getProject(), root).getFunctionDescriptorResolver();
|
||||
ComponentProvider container = JvmResolveUtil.createContainer(getEnvironment());
|
||||
module = DslKt.getService(container, ModuleDescriptor.class);
|
||||
functionDescriptorResolver = DslKt.getService(container, FunctionDescriptorResolver.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
module = null;
|
||||
functionDescriptorResolver = null;
|
||||
super.tearDown();
|
||||
}
|
||||
@@ -165,7 +169,9 @@ public class KotlinOverloadTest extends KotlinTestWithEnvironment {
|
||||
|
||||
private FunctionDescriptor makeFunction(String funDecl) {
|
||||
KtNamedFunction function = KtPsiFactoryKt.KtPsiFactory(getProject()).createFunction(funDecl);
|
||||
LexicalScope scope = TypeTestUtilsKt.builtInPackageAsLexicalScope(DefaultBuiltIns.getInstance());
|
||||
return functionDescriptorResolver.resolveFunctionDescriptor(root, scope, function, KotlinTestUtils.DUMMY_TRACE, DataFlowInfoFactory.EMPTY);
|
||||
LexicalScope scope = TypeTestUtilsKt.builtInPackageAsLexicalScope(module);
|
||||
return functionDescriptorResolver.resolveFunctionDescriptor(
|
||||
module, scope, function, KotlinTestUtils.DUMMY_TRACE, DataFlowInfoFactory.EMPTY
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
package org.jetbrains.kotlin.types;
|
||||
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||
import org.jetbrains.kotlin.container.ComponentProvider;
|
||||
import org.jetbrains.kotlin.container.DslKt;
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.psi.KtNamedFunction;
|
||||
@@ -24,14 +26,14 @@ import org.jetbrains.kotlin.psi.KtPsiFactoryKt;
|
||||
import org.jetbrains.kotlin.resolve.FunctionDescriptorResolver;
|
||||
import org.jetbrains.kotlin.resolve.OverridingUtil;
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfoFactory;
|
||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
|
||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.KotlinTestWithEnvironment;
|
||||
import org.jetbrains.kotlin.tests.di.InjectionKt;
|
||||
|
||||
public class KotlinOverridingTest extends KotlinTestWithEnvironment {
|
||||
private final ModuleDescriptor root = KotlinTestUtils.createEmptyModule("<test_root>");
|
||||
private ModuleDescriptor module;
|
||||
private FunctionDescriptorResolver functionDescriptorResolver;
|
||||
|
||||
@Override
|
||||
@@ -42,11 +44,14 @@ public class KotlinOverridingTest extends KotlinTestWithEnvironment {
|
||||
@Override
|
||||
public void setUp() throws Exception {
|
||||
super.setUp();
|
||||
functionDescriptorResolver = InjectionKt.createContainerForTests(getProject(), root).getFunctionDescriptorResolver();
|
||||
ComponentProvider container = JvmResolveUtil.createContainer(getEnvironment());
|
||||
module = DslKt.getService(container, ModuleDescriptor.class);
|
||||
functionDescriptorResolver = DslKt.getService(container, FunctionDescriptorResolver.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
module = null;
|
||||
functionDescriptorResolver = null;
|
||||
super.tearDown();
|
||||
}
|
||||
@@ -165,8 +170,9 @@ public class KotlinOverridingTest extends KotlinTestWithEnvironment {
|
||||
|
||||
private FunctionDescriptor makeFunction(String funDecl) {
|
||||
KtNamedFunction function = KtPsiFactoryKt.KtPsiFactory(getProject()).createFunction(funDecl);
|
||||
LexicalScope scope = TypeTestUtilsKt.builtInPackageAsLexicalScope(root.getBuiltIns());
|
||||
return functionDescriptorResolver.resolveFunctionDescriptor(root, scope, function,
|
||||
KotlinTestUtils.DUMMY_TRACE, DataFlowInfoFactory.EMPTY);
|
||||
LexicalScope scope = TypeTestUtilsKt.builtInPackageAsLexicalScope(module);
|
||||
return functionDescriptorResolver.resolveFunctionDescriptor(
|
||||
module, scope, function, KotlinTestUtils.DUMMY_TRACE, DataFlowInfoFactory.EMPTY
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,11 @@
|
||||
package org.jetbrains.kotlin.types
|
||||
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
||||
import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope
|
||||
|
||||
fun KotlinBuiltIns.builtInPackageAsLexicalScope()
|
||||
= LexicalScope.Empty(builtInsPackageScope.memberScopeAsImportingScope(), builtInsModule)
|
||||
fun ModuleDescriptor.builtInPackageAsLexicalScope(): LexicalScope.Empty {
|
||||
val packageView = getPackage(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME)
|
||||
return LexicalScope.Empty(packageView.memberScope.memberScopeAsImportingScope(), this)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user