[Low Level FIR] do not search for declarations from kotlin. package in source modules

This commit is contained in:
Ilya Kirillov
2022-09-23 20:10:20 +02:00
parent a7408f32b0
commit 556b7894d5
62 changed files with 84 additions and 6 deletions
@@ -73,7 +73,8 @@ internal class LLFirNonUnderContentRootSessionFactory(private val project: Proje
this, this,
components, components,
project.createDeclarationProvider(contentScope), project.createDeclarationProvider(contentScope),
project.createPackageProvider(contentScope) project.createPackageProvider(contentScope),
cabContainKotlinPackage = true,
) )
register(FirProvider::class, provider) register(FirProvider::class, provider)
@@ -29,6 +29,7 @@ internal class LLFirProvider(
private val moduleComponents: LLFirModuleResolveComponents, private val moduleComponents: LLFirModuleResolveComponents,
private val declarationProvider: KotlinDeclarationProvider, private val declarationProvider: KotlinDeclarationProvider,
packageProvider: KotlinPackageProvider, packageProvider: KotlinPackageProvider,
cabContainKotlinPackage: Boolean,
) : FirProvider() { ) : FirProvider() {
override val symbolProvider: FirSymbolProvider = SymbolProvider() override val symbolProvider: FirSymbolProvider = SymbolProvider()
@@ -37,6 +38,7 @@ internal class LLFirProvider(
moduleComponents.firFileBuilder, moduleComponents.firFileBuilder,
declarationProvider, declarationProvider,
packageProvider, packageProvider,
cabContainKotlinPackage,
) )
override val isPhasedFirAllowed: Boolean get() = true override val isPhasedFirAllowed: Boolean get() = true
@@ -5,11 +5,12 @@
package org.jetbrains.kotlin.analysis.low.level.api.fir.providers package org.jetbrains.kotlin.analysis.low.level.api.fir.providers
import com.google.common.collect.Sets
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirFileBuilder import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirFileBuilder
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.FirElementFinder import org.jetbrains.kotlin.analysis.low.level.api.fir.util.FirElementFinder
import org.jetbrains.kotlin.analysis.providers.KotlinDeclarationProvider import org.jetbrains.kotlin.analysis.providers.KotlinDeclarationProvider
import org.jetbrains.kotlin.analysis.providers.KotlinPackageProvider import org.jetbrains.kotlin.analysis.providers.KotlinPackageProvider
import org.jetbrains.kotlin.builtins.StandardNames
import org.jetbrains.kotlin.config.AnalysisFlags
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.caches.createCache import org.jetbrains.kotlin.fir.caches.createCache
import org.jetbrains.kotlin.fir.caches.firCachesFactory import org.jetbrains.kotlin.fir.caches.firCachesFactory
@@ -17,7 +18,7 @@ import org.jetbrains.kotlin.fir.caches.getValue
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration
import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.languageVersionSettings
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
@@ -25,14 +26,17 @@ import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.name.ClassId 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.name.Name
import org.jetbrains.kotlin.psi.KtFile
internal class LLFirProviderHelper( internal class LLFirProviderHelper(
firSession: FirSession, firSession: FirSession,
private val firFileBuilder: LLFirFileBuilder, private val firFileBuilder: LLFirFileBuilder,
private val declarationProvider: KotlinDeclarationProvider, private val declarationProvider: KotlinDeclarationProvider,
private val packageProvider: KotlinPackageProvider, private val packageProvider: KotlinPackageProvider,
canContainKotlinPackage: Boolean,
) { ) {
private val allowKotlinPackage = canContainKotlinPackage ||
firSession.languageVersionSettings.getFlag(AnalysisFlags.allowKotlinPackage)
private val classifierByClassId = firSession.firCachesFactory.createCache<ClassId, FirClassLikeDeclaration?> { classId -> private val classifierByClassId = firSession.firCachesFactory.createCache<ClassId, FirClassLikeDeclaration?> { classId ->
val ktClass = declarationProvider.getClassLikeDeclarationByClassId(classId) val ktClass = declarationProvider.getClassLikeDeclarationByClassId(classId)
?: return@createCache null ?: return@createCache null
@@ -62,10 +66,12 @@ internal class LLFirProviderHelper(
fun getFirClassifierByFqName(classId: ClassId): FirClassLikeDeclaration? { fun getFirClassifierByFqName(classId: ClassId): FirClassLikeDeclaration? {
if (classId.isLocal) return null if (classId.isLocal) return null
if (!allowKotlinPackage && classId.isKotlinPackage()) return null
return classifierByClassId.getValue(classId) return classifierByClassId.getValue(classId)
} }
fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): List<FirCallableSymbol<*>> { fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): List<FirCallableSymbol<*>> {
if (!allowKotlinPackage && packageFqName.isKotlinPackage()) return emptyList()
val callableId = CallableId(packageFqName, name) val callableId = CallableId(packageFqName, name)
return callablesByCallableId.getValue(callableId) return callablesByCallableId.getValue(callableId)
} }
@@ -86,6 +92,11 @@ internal class LLFirProviderHelper(
} }
} }
fun getPackage(fqName: FqName): FqName? = fun getPackage(fqName: FqName): FqName? {
fqName.takeIf(packageProvider::doKotlinPackageExists) if (!allowKotlinPackage && fqName.isKotlinPackage()) return null
return fqName.takeIf(packageProvider::doKotlinPackageExists)
}
} }
private fun ClassId.isKotlinPackage(): Boolean = startsWith(StandardNames.BUILT_INS_PACKAGE_NAME)
private fun FqName.isKotlinPackage(): Boolean = startsWith(StandardNames.BUILT_INS_PACKAGE_NAME)
@@ -98,6 +98,7 @@ internal object LLFirSessionFactory {
components, components,
project.createDeclarationProvider(contentScope), project.createDeclarationProvider(contentScope),
project.createPackageProvider(contentScope), project.createPackageProvider(contentScope),
cabContainKotlinPackage = true,
) )
register(FirProvider::class, provider) register(FirProvider::class, provider)
@@ -202,6 +203,7 @@ internal object LLFirSessionFactory {
components, components,
project.createDeclarationProvider(contentScope), project.createDeclarationProvider(contentScope),
project.createPackageProvider(contentScope), project.createPackageProvider(contentScope),
cabContainKotlinPackage = true,
) )
register(FirProvider::class, provider) register(FirProvider::class, provider)
@@ -1,4 +1,5 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
package kotlin package kotlin
@@ -1,3 +1,4 @@
// ALLOW_KOTLIN_PACKAGE
package kotlin package kotlin
@Deprecated("") @Deprecated("")
@@ -1,3 +1,4 @@
// ALLOW_KOTLIN_PACKAGE
package kotlin package kotlin
@Deprecated("") @Deprecated("")
@@ -1,5 +1,7 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !API_VERSION: 1.4 // !API_VERSION: 1.4
// ALLOW_KOTLIN_PACKAGE
package kotlin package kotlin
@@ -1,5 +1,6 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !API_VERSION: 1.4 // !API_VERSION: 1.4
// ALLOW_KOTLIN_PACKAGE
package kotlin package kotlin
@@ -1,3 +1,5 @@
// ALLOW_KOTLIN_PACKAGE
package kotlin package kotlin
@Deprecated("foo test") @Deprecated("foo test")
@@ -1,3 +1,5 @@
// ALLOW_KOTLIN_PACKAGE
package kotlin package kotlin
@Deprecated("foo test") @Deprecated("foo test")
@@ -1,4 +1,5 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// ALLOW_KOTLIN_PACKAGE
// !API_VERSION: 1.4 // !API_VERSION: 1.4
package kotlin package kotlin
@@ -1,5 +1,7 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// SKIP_TXT // SKIP_TXT
// ALLOW_KOTLIN_PACKAGE
// MODULE: m1-common // MODULE: m1-common
// FILE: common.kt // FILE: common.kt
@@ -1,4 +1,5 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
// ALLOW_KOTLIN_PACKAGE
// FILE: annotation.kt // FILE: annotation.kt
@@ -1,4 +1,5 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
// ALLOW_KOTLIN_PACKAGE
// FILE: annotation.kt // FILE: annotation.kt
@@ -1,6 +1,7 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -3,6 +3,7 @@
// !API_VERSION: 1.4 // !API_VERSION: 1.4
// !LANGUAGE: -InlineClasses // !LANGUAGE: -InlineClasses
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -2,6 +2,7 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_VARIABLE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_VARIABLE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_VARIABLE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_VARIABLE
package kotlin.jvm package kotlin.jvm
@@ -2,6 +2,7 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_VARIABLE // !DIAGNOSTICS: -UNUSED_VARIABLE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !SKIP_JAVAC // !SKIP_JAVAC
// ALLOW_KOTLIN_PACKAGE
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
@@ -1,6 +1,7 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,6 +1,7 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,4 +1,5 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// ALLOW_KOTLIN_PACKAGE
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,4 +1,5 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// ALLOW_KOTLIN_PACKAGE
// !SKIP_JAVAC // !SKIP_JAVAC
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -2,6 +2,7 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,4 +1,5 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// ALLOW_KOTLIN_PACKAGE
// !SKIP_JAVAC // !SKIP_JAVAC
// SKIP_TXT // SKIP_TXT
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
@@ -2,6 +2,7 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// SKIP_TXT // SKIP_TXT
// !LANGUAGE: +InlineClasses, -GenericInlineClassParameter // !LANGUAGE: +InlineClasses, -GenericInlineClassParameter
// ALLOW_KOTLIN_PACKAGE
package kotlin.jvm package kotlin.jvm
@@ -1,4 +1,5 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// ALLOW_KOTLIN_PACKAGE
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_VARIABLE, -UNUSED_ANONYMOUS_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_VARIABLE, -UNUSED_ANONYMOUS_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,5 +1,6 @@
// !SKIP_JAVAC // !SKIP_JAVAC
// !LANGUAGE: +InlineClasses // !LANGUAGE: +InlineClasses
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_VARIABLE, -UNUSED_ANONYMOUS_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_VARIABLE, -UNUSED_ANONYMOUS_PARAMETER
package kotlin.jvm package kotlin.jvm
@@ -1,3 +1,4 @@
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT // SKIP_TXT
// FILE: test.kt // FILE: test.kt
@@ -1,3 +1,4 @@
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER // !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT // SKIP_TXT
// FILE: test.kt // FILE: test.kt
@@ -1,3 +1,4 @@
// ALLOW_KOTLIN_PACKAGE
// SKIP_TXT // SKIP_TXT
// FILE: test.kt // FILE: test.kt
@@ -1,3 +1,4 @@
// ALLOW_KOTLIN_PACKAGE
// SKIP_TXT // SKIP_TXT
// FILE: test.kt // FILE: test.kt
@@ -1,5 +1,6 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +OverloadResolutionByLambdaReturnType // !LANGUAGE: +OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,5 +1,6 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +OverloadResolutionByLambdaReturnType // !LANGUAGE: +OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -OPT_IN_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -OPT_IN_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,5 +1,6 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +OverloadResolutionByLambdaReturnType // !LANGUAGE: +OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -OPT_IN_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -OPT_IN_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,5 +1,6 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +OverloadResolutionByLambdaReturnType // !LANGUAGE: +OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -OPT_IN_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -OPT_IN_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,4 +1,5 @@
// !LANGUAGE: -OverloadResolutionByLambdaReturnType // !LANGUAGE: -OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,4 +1,5 @@
// !LANGUAGE: -OverloadResolutionByLambdaReturnType // !LANGUAGE: -OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,4 +1,5 @@
// !LANGUAGE: +OverloadResolutionByLambdaReturnType // !LANGUAGE: +OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,4 +1,5 @@
// !LANGUAGE: +OverloadResolutionByLambdaReturnType // !LANGUAGE: +OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,4 +1,5 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION
// ISSUE: KT-11265 // ISSUE: KT-11265
@@ -1,5 +1,6 @@
// FIR_IDENTICAL // FIR_IDENTICAL
// !LANGUAGE: +OverloadResolutionByLambdaReturnType // !LANGUAGE: +OverloadResolutionByLambdaReturnType
// ALLOW_KOTLIN_PACKAGE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -OPT_IN_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION -OPT_IN_USAGE -EXPERIMENTAL_UNSIGNED_LITERALS
// ISSUE: KT-11265 // ISSUE: KT-11265