Resolve types from all builtin default packages in TypeUnifierTest
This commit is contained in:
@@ -20,9 +20,11 @@ import com.google.common.base.Predicate;
|
|||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import kotlin.Unit;
|
import kotlin.Unit;
|
||||||
|
import kotlin.collections.CollectionsKt;
|
||||||
import kotlin.jvm.functions.Function1;
|
import kotlin.jvm.functions.Function1;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.builtins.BuiltinsPackageFragment;
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
|
||||||
@@ -41,6 +43,7 @@ import org.jetbrains.kotlin.test.KotlinLiteFixture;
|
|||||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||||
import org.jetbrains.kotlin.tests.di.InjectionKt;
|
import org.jetbrains.kotlin.tests.di.InjectionKt;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@@ -48,6 +51,7 @@ public class TypeUnifierTest extends KotlinLiteFixture {
|
|||||||
private Set<TypeConstructor> variables;
|
private Set<TypeConstructor> variables;
|
||||||
|
|
||||||
private KotlinBuiltIns builtIns;
|
private KotlinBuiltIns builtIns;
|
||||||
|
private ImportingScope builtinsImportingScope;
|
||||||
private TypeResolver typeResolver;
|
private TypeResolver typeResolver;
|
||||||
private TypeParameterDescriptor x;
|
private TypeParameterDescriptor x;
|
||||||
private TypeParameterDescriptor y;
|
private TypeParameterDescriptor y;
|
||||||
@@ -64,6 +68,14 @@ public class TypeUnifierTest extends KotlinLiteFixture {
|
|||||||
|
|
||||||
ModuleDescriptorImpl module = KotlinTestUtils.createEmptyModule();
|
ModuleDescriptorImpl module = KotlinTestUtils.createEmptyModule();
|
||||||
builtIns = module.getBuiltIns();
|
builtIns = module.getBuiltIns();
|
||||||
|
builtinsImportingScope = ScopeUtilsKt.chainImportingScopes(
|
||||||
|
// builtIns.builtinsPackageFragments.map { it.memberScope.memberScopeAsImportingScope() }
|
||||||
|
CollectionsKt.map(builtIns.getBuiltinsPackageFragments(), new Function1<BuiltinsPackageFragment, ImportingScope>() {
|
||||||
|
@Override
|
||||||
|
public ImportingScope invoke(BuiltinsPackageFragment packageFragment) {
|
||||||
|
return ScopeUtilsKt.memberScopeAsImportingScope(packageFragment.getMemberScope());
|
||||||
|
}
|
||||||
|
}), null);
|
||||||
typeResolver = InjectionKt.createContainerForTests(getProject(), module).getTypeResolver();
|
typeResolver = InjectionKt.createContainerForTests(getProject(), module).getTypeResolver();
|
||||||
x = createTypeVariable("X");
|
x = createTypeVariable("X");
|
||||||
y = createTypeVariable("Y");
|
y = createTypeVariable("Y");
|
||||||
@@ -197,11 +209,7 @@ public class TypeUnifierTest extends KotlinLiteFixture {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private TypeProjection makeType(String typeStr) {
|
private TypeProjection makeType(String typeStr) {
|
||||||
return makeTypeProjection(builtIns.getBuiltInsPackageScope(), typeStr);
|
LexicalScope withX = new LexicalScopeImpl(builtinsImportingScope, builtIns.getBuiltInsModule(),
|
||||||
}
|
|
||||||
|
|
||||||
private TypeProjection makeTypeProjection(MemberScope scope, String typeStr) {
|
|
||||||
LexicalScope withX = new LexicalScopeImpl(ScopeUtilsKt.memberScopeAsImportingScope(scope), builtIns.getBuiltInsModule(),
|
|
||||||
false, null, LexicalScopeKind.SYNTHETIC, RedeclarationHandler.DO_NOTHING,
|
false, null, LexicalScopeKind.SYNTHETIC, RedeclarationHandler.DO_NOTHING,
|
||||||
new Function1<LexicalScopeImpl.InitializeHandler, Unit>() {
|
new Function1<LexicalScopeImpl.InitializeHandler, Unit>() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user