From ab805321e401b143228e3c5e7b3ea6329e4315db Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Mon, 23 Oct 2023 17:51:39 +0200 Subject: [PATCH] [FIR] FirNullSymbolNamesProvider: Fix `mayHaveSyntheticFunctionType` - The null symbol names provider knows nothing about the names provided by its symbol provider, so it also has to assume that the symbol provider can provide a synthetic function type. - This inconsistency has not caused an issue so far because `mayHaveTopLevelClassifier` is also overridden, and `mayHaveSyntheticFunctionType` is not used outside that context. --- .../kotlin/fir/resolve/providers/FirSymbolNamesProvider.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/FirSymbolNamesProvider.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/FirSymbolNamesProvider.kt index 2e0d1c292c8..582c845bd87 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/FirSymbolNamesProvider.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/FirSymbolNamesProvider.kt @@ -146,6 +146,9 @@ object FirNullSymbolNamesProvider : FirSymbolNamesProvider() { override val hasSpecificCallablePackageNamesComputation: Boolean get() = false override fun getTopLevelCallableNamesInPackage(packageFqName: FqName): Set? = null + override val mayHaveSyntheticFunctionTypes: Boolean get() = true + override fun mayHaveSyntheticFunctionType(classId: ClassId): Boolean = true + override fun mayHaveTopLevelClassifier(classId: ClassId): Boolean = true override fun mayHaveTopLevelCallable(packageFqName: FqName, name: Name): Boolean = true }