From 552b137852572b61f20913f23f4ce147279c0fbb Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 14 Feb 2019 17:51:54 +0300 Subject: [PATCH] FIR: get rid of fictitious function symbols --- .../impl/FirLibrarySymbolProviderImpl.kt | 21 ++++++++++++++++--- .../symbols/impl/FictitiousFunctionSymbol.kt | 21 ------------------- 2 files changed, 18 insertions(+), 24 deletions(-) delete mode 100644 compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FictitiousFunctionSymbol.kt diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirLibrarySymbolProviderImpl.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirLibrarySymbolProviderImpl.kt index 54c200fdadf..c3bbefcecb0 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirLibrarySymbolProviderImpl.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirLibrarySymbolProviderImpl.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.resolve.impl import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor -import org.jetbrains.kotlin.descriptors.SourceElement +import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.impl.FirClassImpl import org.jetbrains.kotlin.fir.declarations.impl.FirTypeParameterImpl @@ -15,7 +15,6 @@ import org.jetbrains.kotlin.fir.deserialization.FirTypeDeserializer import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.getOrPut import org.jetbrains.kotlin.fir.symbols.* -import org.jetbrains.kotlin.fir.symbols.impl.FictitiousFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl @@ -152,7 +151,23 @@ class FirLibrarySymbolProviderImpl(val session: FirSession) : FirSymbolProvider val prefix = kind.classNamePrefix val arity = className.substring(prefix.length).toIntOrNull() ?: return null fictitiousFunctionSymbols.getOrPut(arity) { - FictitiousFunctionSymbol(relativeClassName.shortName(), arity) + FirClassSymbol(this).apply { + FirClassImpl( + session, + null, + this, + relativeClassName.shortName(), + Visibilities.PUBLIC, + Modality.OPEN, + false, + false, + ClassKind.CLASS, + isInner = false, + isCompanion = false, + isData = false, + isInline = false + ) + } } } } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FictitiousFunctionSymbol.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FictitiousFunctionSymbol.kt deleted file mode 100644 index b5d205b61f1..00000000000 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FictitiousFunctionSymbol.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. 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.symbols.impl - -import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.fir.symbols.ConeClassSymbol -import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterSymbol -import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.name.Name - -class FictitiousFunctionSymbol(className: Name, arity: Int) : ConeClassSymbol { - override val classId = ClassId(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME, className) - - class TypeParameterSymbol(index: Int) : ConeTypeParameterSymbol { - override val name: Name = Name.identifier("T$index") - } - -} \ No newline at end of file