[FIR-TEST] Unify AbstractFirLoadCompiledKotlin and BuiltInsDeserializationForFirTestCase
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
public/*package*/ open class ArraysUtilJVM : R|kotlin/Any| {
|
||||||
|
public/*package*/ open static fun <T : R|ft<kotlin/Any, kotlin/Any?>!|> asList(p0: ):
|
||||||
|
|
||||||
|
public/*package*/ constructor(): R|kotlin/collections/ArraysUtilJVM|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public abstract class BooleanIterator : R|kotlin/collections/Iterator<kotlin/Boolean>| {
|
public abstract class BooleanIterator : R|kotlin/collections/Iterator<kotlin/Boolean>| {
|
||||||
public final operator fun next(): R|kotlin/Boolean|
|
public final operator fun next(): R|kotlin/Boolean|
|
||||||
|
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ public final fun intArrayOf(vararg elements: R|kotlin/IntArray|): R|kotlin/IntAr
|
|||||||
|
|
||||||
public final fun longArrayOf(vararg elements: R|kotlin/LongArray|): R|kotlin/LongArray|
|
public final fun longArrayOf(vararg elements: R|kotlin/LongArray|): R|kotlin/LongArray|
|
||||||
|
|
||||||
public final fun shortArrayOf(vararg elements: R|kotlin/ShortArray|): R|kotlin/ShortArray|
|
|
||||||
|
|
||||||
public final operator fun R|kotlin/String?|.plus(other: R|kotlin/Any?|): R|kotlin/String|
|
public final operator fun R|kotlin/String?|.plus(other: R|kotlin/Any?|): R|kotlin/String|
|
||||||
|
|
||||||
|
public final fun shortArrayOf(vararg elements: R|kotlin/ShortArray|): R|kotlin/ShortArray|
|
||||||
|
|
||||||
public final fun R|kotlin/Any?|.toString(): R|kotlin/String|
|
public final fun R|kotlin/Any?|.toString(): R|kotlin/String|
|
||||||
|
|
||||||
public abstract interface Annotation : R|kotlin/Any| {
|
public abstract interface Annotation : R|kotlin/Any| {
|
||||||
@@ -334,11 +334,6 @@ public abstract interface CharSequence : R|kotlin/Any| {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract interface Cloneable : R|kotlin/Any| {
|
|
||||||
protected open fun clone(): R|kotlin/Any|
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public abstract interface Comparable<in T> : R|kotlin/Any| {
|
public abstract interface Comparable<in T> : R|kotlin/Any| {
|
||||||
public abstract operator fun compareTo(other: R|T|): R|kotlin/Int|
|
public abstract operator fun compareTo(other: R|T|): R|kotlin/Int|
|
||||||
|
|
||||||
|
|||||||
+53
@@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.fir
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
|
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||||
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
|
import org.jetbrains.kotlin.name.FqName
|
||||||
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
|
abstract class AbstractFirLoadBinariesTest : AbstractFirResolveWithSessionTestCase() {
|
||||||
|
/**
|
||||||
|
* Since fir symbol providers can't get all names in package (only fir provider can do it),
|
||||||
|
* we should collect that names from module descriptor from FE 1.0
|
||||||
|
*/
|
||||||
|
protected fun checkPackageContent(
|
||||||
|
session: FirSession,
|
||||||
|
packageFqName: FqName,
|
||||||
|
moduleDescriptor: ModuleDescriptor,
|
||||||
|
testDataPath: String
|
||||||
|
) {
|
||||||
|
val declarationNames = DescriptorUtils.getAllDescriptors(moduleDescriptor.getPackage(packageFqName).memberScope)
|
||||||
|
.mapTo(sortedSetOf()) { it.name }
|
||||||
|
|
||||||
|
val provider = session.firSymbolProvider
|
||||||
|
|
||||||
|
val builder = StringBuilder()
|
||||||
|
val firRenderer = FirRenderer(builder)
|
||||||
|
|
||||||
|
for (name in declarationNames) {
|
||||||
|
for (symbol in provider.getTopLevelCallableSymbols(packageFqName, name)) {
|
||||||
|
symbol.fir.accept(firRenderer)
|
||||||
|
builder.appendLine()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (name in declarationNames) {
|
||||||
|
val classLikeSymbol = provider.getClassLikeSymbolByFqName(ClassId.topLevel(packageFqName.child(name))) ?: continue
|
||||||
|
classLikeSymbol.fir.accept(firRenderer)
|
||||||
|
builder.appendLine()
|
||||||
|
}
|
||||||
|
|
||||||
|
KotlinTestUtils.assertEqualsToFile(
|
||||||
|
File(testDataPath),
|
||||||
|
builder.toString()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
-46
@@ -9,19 +9,15 @@ import com.intellij.psi.search.GlobalSearchScope
|
|||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
|
||||||
import org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil.compileKotlinToDirAndGetModule
|
import org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil.compileKotlinToDirAndGetModule
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils.newConfiguration
|
import org.jetbrains.kotlin.test.KotlinTestUtils.newConfiguration
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
abstract class AbstractFirLoadCompiledKotlin : AbstractFirResolveWithSessionTestCase() {
|
abstract class AbstractFirLoadCompiledKotlin : AbstractFirLoadBinariesTest() {
|
||||||
protected lateinit var tmpdir: File
|
protected lateinit var tmpdir: File
|
||||||
|
|
||||||
override fun setUp() {
|
override fun setUp() {
|
||||||
@@ -37,8 +33,6 @@ abstract class AbstractFirLoadCompiledKotlin : AbstractFirResolveWithSessionTest
|
|||||||
val moduleDescriptor = compileKtFileToTmpDir(path)
|
val moduleDescriptor = compileKtFileToTmpDir(path)
|
||||||
|
|
||||||
val packageFqName = FqName("test")
|
val packageFqName = FqName("test")
|
||||||
val allCompiledNames = DescriptorUtils.getAllDescriptors(moduleDescriptor.getPackage(packageFqName).memberScope)
|
|
||||||
.mapTo(sortedSetOf()) { it.name }
|
|
||||||
|
|
||||||
val configuration = newConfiguration(ConfigurationKind.JDK_ONLY, TestJdkKind.MOCK_JDK, listOf(tmpdir), emptyList<File>())
|
val configuration = newConfiguration(ConfigurationKind.JDK_ONLY, TestJdkKind.MOCK_JDK, listOf(tmpdir), emptyList<File>())
|
||||||
val environment = KotlinCoreEnvironment.createForTests(testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
|
val environment = KotlinCoreEnvironment.createForTests(testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
|
||||||
@@ -46,7 +40,14 @@ abstract class AbstractFirLoadCompiledKotlin : AbstractFirResolveWithSessionTest
|
|||||||
prepareProjectExtensions(environment.project)
|
prepareProjectExtensions(environment.project)
|
||||||
val sessionWithDependency = createSession(environment, GlobalSearchScope.EMPTY_SCOPE)
|
val sessionWithDependency = createSession(environment, GlobalSearchScope.EMPTY_SCOPE)
|
||||||
|
|
||||||
checkPackageContent(sessionWithDependency, packageFqName, allCompiledNames, path)
|
val testDataDirectoryPath =
|
||||||
|
"compiler/fir/analysis-tests/testData/loadCompiledKotlin/" +
|
||||||
|
path
|
||||||
|
.removePrefix("compiler/testData/loadJava/compiledKotlin/")
|
||||||
|
.removeSuffix(File(path).name)
|
||||||
|
File(testDataDirectoryPath).mkdirs()
|
||||||
|
|
||||||
|
checkPackageContent(sessionWithDependency, packageFqName, moduleDescriptor, "$testDataDirectoryPath${getTestName(false)}.txt")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun compileKtFileToTmpDir(path: String): ModuleDescriptor {
|
private fun compileKtFileToTmpDir(path: String): ModuleDescriptor {
|
||||||
@@ -57,42 +58,4 @@ abstract class AbstractFirLoadCompiledKotlin : AbstractFirResolveWithSessionTest
|
|||||||
|
|
||||||
return compileKotlinToDirAndGetModule(listOf(file), tmpdir, environment)
|
return compileKotlinToDirAndGetModule(listOf(file), tmpdir, environment)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkPackageContent(
|
|
||||||
session: FirSession,
|
|
||||||
packageFqName: FqName,
|
|
||||||
declarationNames: Set<Name>,
|
|
||||||
testDataPath: String
|
|
||||||
) {
|
|
||||||
val provider = session.firSymbolProvider
|
|
||||||
|
|
||||||
val builder = StringBuilder()
|
|
||||||
val firRenderer = FirRenderer(builder)
|
|
||||||
|
|
||||||
for (name in declarationNames) {
|
|
||||||
for (symbol in provider.getTopLevelCallableSymbols(packageFqName, name)) {
|
|
||||||
symbol.fir.accept(firRenderer)
|
|
||||||
builder.appendLine()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (name in declarationNames) {
|
|
||||||
val classLikeSymbol = provider.getClassLikeSymbolByFqName(ClassId.topLevel(packageFqName.child(name))) ?: continue
|
|
||||||
classLikeSymbol.fir.accept(firRenderer)
|
|
||||||
builder.appendLine()
|
|
||||||
}
|
|
||||||
|
|
||||||
val testDataDirectoryPath =
|
|
||||||
"compiler/fir/analysis-tests/testData/loadCompiledKotlin/" +
|
|
||||||
testDataPath
|
|
||||||
.removePrefix("compiler/testData/loadJava/compiledKotlin/")
|
|
||||||
.removeSuffix(File(testDataPath).name)
|
|
||||||
File(testDataDirectoryPath).mkdirs()
|
|
||||||
|
|
||||||
KotlinTestUtils.assertEqualsToFile(
|
|
||||||
File(testDataDirectoryPath + getTestName(false) + ".txt"),
|
|
||||||
builder.toString()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-42
@@ -6,58 +6,22 @@
|
|||||||
package org.jetbrains.kotlin.fir
|
package org.jetbrains.kotlin.fir
|
||||||
|
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
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.fir.resolve.firSymbolProvider
|
import org.jetbrains.kotlin.serialization.builtins.BuiltinsTestUtils
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
import java.io.File
|
|
||||||
|
|
||||||
class BuiltInsDeserializationForFirTestCase : AbstractFirResolveWithSessionTestCase() {
|
class BuiltInsDeserializationForFirTestCase : AbstractFirLoadBinariesTest() {
|
||||||
override fun createEnvironment(): KotlinCoreEnvironment {
|
override fun createEnvironment(): KotlinCoreEnvironment {
|
||||||
return createEnvironmentWithJdk(ConfigurationKind.ALL, TestJdkKind.FULL_JDK)
|
return createEnvironmentWithJdk(ConfigurationKind.ALL, TestJdkKind.FULL_JDK)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun testBuiltInPackagesContent() {
|
fun testBuiltInPackagesContent() {
|
||||||
for (packageFqName in listOf(
|
val moduleDescriptor = BuiltinsTestUtils.compileBuiltinsModule(environment)
|
||||||
KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME,
|
|
||||||
KotlinBuiltIns.COLLECTIONS_PACKAGE_FQ_NAME,
|
|
||||||
KotlinBuiltIns.RANGES_PACKAGE_FQ_NAME
|
|
||||||
)) {
|
|
||||||
checkPackageContent(packageFqName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun checkPackageContent(packageFqName: FqName) {
|
|
||||||
val session = createSession(environment, GlobalSearchScope.allScope(project))
|
val session = createSession(environment, GlobalSearchScope.allScope(project))
|
||||||
val provider = session.firSymbolProvider
|
for (packageFqName in BuiltinsTestUtils.BUILTIN_PACKAGE_NAMES) {
|
||||||
|
val path = "compiler/fir/analysis-tests/testData/builtIns/" + packageFqName.asString().replace('.', '-') + ".txt"
|
||||||
val builder = StringBuilder()
|
checkPackageContent(session, packageFqName, moduleDescriptor, path)
|
||||||
val firRenderer = FirRenderer(builder)
|
|
||||||
|
|
||||||
for (name in provider.getAllCallableNamesInPackage(packageFqName)) {
|
|
||||||
for (symbol in provider.getTopLevelCallableSymbols(packageFqName, name)) {
|
|
||||||
symbol.fir.accept(firRenderer)
|
|
||||||
builder.appendLine()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (name in provider.getClassNamesInPackage(packageFqName)) {
|
|
||||||
val classLikeSymbol =
|
|
||||||
provider.getClassLikeSymbolByFqName(ClassId.topLevel(packageFqName.child(name))) as FirClassSymbol?
|
|
||||||
?: continue
|
|
||||||
classLikeSymbol.fir.accept(firRenderer)
|
|
||||||
builder.appendLine()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
KotlinTestUtils.assertEqualsToFile(
|
|
||||||
File("compiler/fir/analysis-tests/testData/builtIns/" + packageFqName.asString().replace('.', '-') + ".txt"),
|
|
||||||
builder.toString()
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+39
@@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.serialization.builtins
|
||||||
|
|
||||||
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
|
import com.intellij.util.containers.ContainerUtil
|
||||||
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
|
import org.jetbrains.kotlin.resolve.lazy.createResolveSessionForFiles
|
||||||
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
|
import java.io.File
|
||||||
|
import java.util.regex.Pattern
|
||||||
|
|
||||||
|
object BuiltinsTestUtils {
|
||||||
|
fun compileBuiltinsModule(environment: KotlinCoreEnvironment): ModuleDescriptor {
|
||||||
|
val files = KotlinTestUtils.loadToJetFiles(
|
||||||
|
environment, ContainerUtil.concat<File>(
|
||||||
|
allFilesUnder("core/builtins/native"),
|
||||||
|
allFilesUnder("core/builtins/src")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return createResolveSessionForFiles(environment.project, files, false).moduleDescriptor
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
val BUILTIN_PACKAGE_NAMES = listOf(
|
||||||
|
KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME,
|
||||||
|
KotlinBuiltIns.COLLECTIONS_PACKAGE_FQ_NAME,
|
||||||
|
KotlinBuiltIns.RANGES_PACKAGE_FQ_NAME
|
||||||
|
)
|
||||||
|
|
||||||
|
private fun allFilesUnder(directory: String): List<File?> {
|
||||||
|
return FileUtil.findFilesByMask(Pattern.compile(".*\\.kt"), File(directory))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.serialization.builtins;
|
package org.jetbrains.kotlin.serialization.builtins;
|
||||||
|
|
||||||
import com.intellij.openapi.util.io.FileUtil;
|
|
||||||
import com.intellij.util.containers.ContainerUtil;
|
|
||||||
import kotlin.collections.CollectionsKt;
|
import kotlin.collections.CollectionsKt;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns;
|
import org.jetbrains.kotlin.builtins.DefaultBuiltIns;
|
||||||
@@ -32,23 +30,18 @@ import org.jetbrains.kotlin.descriptors.deserialization.AdditionalClassPartsProv
|
|||||||
import org.jetbrains.kotlin.descriptors.deserialization.PlatformDependentDeclarationFilter;
|
import org.jetbrains.kotlin.descriptors.deserialization.PlatformDependentDeclarationFilter;
|
||||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
|
||||||
import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtilsKt;
|
|
||||||
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor;
|
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor;
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.builtins.BuiltInsLoaderImpl;
|
import org.jetbrains.kotlin.serialization.deserialization.builtins.BuiltInsLoaderImpl;
|
||||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
|
||||||
import org.jetbrains.kotlin.test.KotlinTestWithEnvironment;
|
import org.jetbrains.kotlin.test.KotlinTestWithEnvironment;
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind;
|
import org.jetbrains.kotlin.test.TestJdkKind;
|
||||||
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator;
|
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import static org.jetbrains.kotlin.builtins.KotlinBuiltIns.*;
|
import static org.jetbrains.kotlin.builtins.KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAMES;
|
||||||
|
|
||||||
public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
|
public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
|
||||||
@Override
|
@Override
|
||||||
@@ -56,18 +49,12 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
|
|||||||
return createEnvironmentWithJdk(ConfigurationKind.JDK_NO_RUNTIME, TestJdkKind.MOCK_JDK);
|
return createEnvironmentWithJdk(ConfigurationKind.JDK_NO_RUNTIME, TestJdkKind.MOCK_JDK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testBuiltIns() throws Exception {
|
public void testBuiltIns() {
|
||||||
|
ModuleDescriptor module = BuiltinsTestUtils.INSTANCE.compileBuiltinsModule(getEnvironment());
|
||||||
|
|
||||||
PackageFragmentProvider packageFragmentProvider = createBuiltInsPackageFragmentProvider();
|
PackageFragmentProvider packageFragmentProvider = createBuiltInsPackageFragmentProvider();
|
||||||
|
|
||||||
List<KtFile> files = KotlinTestUtils.loadToJetFiles(getEnvironment(), ContainerUtil.concat(
|
for (FqName packageFqName : BuiltinsTestUtils.BUILTIN_PACKAGE_NAMES) {
|
||||||
allFilesUnder("core/builtins/native"),
|
|
||||||
allFilesUnder("core/builtins/src")
|
|
||||||
));
|
|
||||||
|
|
||||||
ModuleDescriptor module =
|
|
||||||
LazyResolveTestUtilsKt.createResolveSessionForFiles(getEnvironment().getProject(), files, false).getModuleDescriptor();
|
|
||||||
|
|
||||||
for (FqName packageFqName : CollectionsKt.listOf(BUILT_INS_PACKAGE_FQ_NAME, COLLECTIONS_PACKAGE_FQ_NAME, RANGES_PACKAGE_FQ_NAME)) {
|
|
||||||
PackageFragmentDescriptor fromLazyResolve =
|
PackageFragmentDescriptor fromLazyResolve =
|
||||||
CollectionsKt.single(module.getPackage(packageFqName).getFragments());
|
CollectionsKt.single(module.getPackage(packageFqName).getFragments());
|
||||||
if (fromLazyResolve instanceof LazyPackageDescriptor) {
|
if (fromLazyResolve instanceof LazyPackageDescriptor) {
|
||||||
@@ -101,9 +88,4 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
|
|||||||
|
|
||||||
return packageFragmentProvider;
|
return packageFragmentProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private static List<File> allFilesUnder(@NotNull String directory) {
|
|
||||||
return FileUtil.findFilesByMask(Pattern.compile(".*\\.kt"), new File(directory));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user