Fix stdlib annotation enum deserialization issue

From IntelliJ, when we access to an enum entry of a Kotlin stdlib
annotation from other libraries, `StubBasedAnnotationDeserializer`
generates `FirFromMissingDependenciesNamedReference`, which causes a
type resolution issue for FIR2IR. This issue was fixed by
a workaround commit 7db2fc522e9e333e69b92e46881214a040ac80c3 only for
the stand-alone compiler. This commit uses `FirBuiltinSymbolProvider`
for `LLStubBasedLibrarySymbolProviderFactory` to fix this issue for
IDEA as well.

^KT-61757
diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/LLStubBasedLibrarySymbolProviderFactory.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/LLStubBasedLibrarySymbolProviderFactory.kt
index 051733c..0a65870 100644
--- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/LLStubBasedLibrarySymbolProviderFactory.kt
+++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/LLStubBasedLibrarySymbolProviderFactory.kt
@@ -7,25 +7,17 @@
 
 import com.intellij.openapi.project.Project
 import com.intellij.psi.search.GlobalSearchScope
-import org.jetbrains.kotlin.analysis.decompiler.psi.BuiltInsVirtualFileProvider
 import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirInternals
 import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirLibrarySymbolProviderFactory
 import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirModuleData
 import org.jetbrains.kotlin.analysis.low.level.api.fir.providers.LLFirJavaSymbolProvider
-import org.jetbrains.kotlin.analysis.low.level.api.fir.util.LLFirKotlinSymbolNamesProvider
 import org.jetbrains.kotlin.fir.FirSession
-import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
 import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider
 import org.jetbrains.kotlin.fir.java.FirJavaFacade
-import org.jetbrains.kotlin.fir.resolve.providers.FirCompositeCachedSymbolNamesProvider
-import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolNamesProvider
 import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
-import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSyntheticFunctionInterfaceProvider
+import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSymbolProvider
 import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
-import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
 import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
-import org.jetbrains.kotlin.name.ClassId
-import org.jetbrains.kotlin.psi.KtFile
 
 @LLFirInternals
 class LLStubBasedLibrarySymbolProviderFactory(private val project: Project) : LLFirLibrarySymbolProviderFactory() {
@@ -123,50 +115,7 @@
         kotlinScopeProvider: FirKotlinScopeProvider
     ): List<FirSymbolProvider> {
         return listOf(
-            StubBasedBuiltInsSymbolProvider(project, session, moduleData, kotlinScopeProvider)
+            FirBuiltinSymbolProvider(session, moduleData, kotlinScopeProvider)
         )
     }
-}
-
-private class StubBasedBuiltInsSymbolProvider(
-    project: Project,
-    session: FirSession,
-    moduleData: LLFirModuleData,
-    kotlinScopeProvider: FirKotlinScopeProvider,
-) : StubBasedFirDeserializedSymbolProvider(
-    session,
-    SingleModuleDataProvider(moduleData),
-    kotlinScopeProvider,
-    project,
-    createBuiltInsScope(project),
-    isFallbackDependenciesProvider = false,
-) {
-    private val syntheticFunctionInterfaceProvider = FirBuiltinSyntheticFunctionInterfaceProvider(
-        session,
-        moduleData,
-        kotlinScopeProvider
-    )
-
-    override val symbolNamesProvider: FirSymbolNamesProvider = FirCompositeCachedSymbolNamesProvider(
-        session,
-        listOf(
-            LLFirKotlinSymbolNamesProvider(declarationProvider, allowKotlinPackage),
-            syntheticFunctionInterfaceProvider.symbolNamesProvider,
-        ),
-    )
-
-    override fun getClassLikeSymbolByClassId(classId: ClassId): FirClassLikeSymbol<*>? {
-        return super.getClassLikeSymbolByClassId(classId)
-            ?: syntheticFunctionInterfaceProvider.getClassLikeSymbolByClassId(classId)
-    }
-
-    override fun getDeclarationOriginFor(file: KtFile): FirDeclarationOrigin {
-        // this provider operates only on builtins files, no need to check anything
-        return FirDeclarationOrigin.BuiltIns
-    }
-}
-
-private fun createBuiltInsScope(project: Project): GlobalSearchScope {
-    val builtInFiles = BuiltInsVirtualFileProvider.getInstance().getBuiltInVirtualFiles()
-    return GlobalSearchScope.filesScope(project, builtInFiles)
 }
\ No newline at end of file