[AA] implement isExpect/isActual for callable symbols

^KT-54846 Fixed
This commit is contained in:
aleksandrina-streltsova
2023-07-18 11:52:28 +03:00
committed by teamcity
parent 52a95cb75f
commit fe4ca30c55
14 changed files with 782 additions and 9 deletions
@@ -25,6 +25,8 @@ import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.containingClassLookupTag
import org.jetbrains.kotlin.fir.declarations.utils.hasStableParameterNames
import org.jetbrains.kotlin.fir.declarations.utils.isActual
import org.jetbrains.kotlin.fir.declarations.utils.isExpect
import org.jetbrains.kotlin.fir.declarations.utils.visibility
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
import org.jetbrains.kotlin.name.ClassId
@@ -58,6 +60,8 @@ internal class KtFirConstructorSymbol(
get() = withValidityAssertion { firSymbol.containingClassLookupTag()?.classId?.takeUnless { it.isLocal } }
override val isPrimary: Boolean get() = withValidityAssertion { firSymbol.isPrimary }
override val isActual: Boolean get() = withValidityAssertion { firSymbol.isActual }
override val isExpect: Boolean get() = withValidityAssertion { firSymbol.isExpect }
override val typeParameters by cached { firSymbol.createKtTypeParameters(builder) }
@@ -84,6 +84,9 @@ internal class KtFirFunctionSymbol(
override val isExternal: Boolean get() = withValidityAssertion { firSymbol.isExternal }
override val isInline: Boolean get() = withValidityAssertion { firSymbol.isInline }
override val isExtension: Boolean get() = withValidityAssertion { firSymbol.isExtension }
override val isActual: Boolean get() = withValidityAssertion { firSymbol.isActual }
override val isExpect: Boolean get() = withValidityAssertion { firSymbol.isExpect }
override val callableIdIfNonLocal: CallableId? get() = withValidityAssertion { firSymbol.getCallableIdIfNonLocal() }
override val symbolKind: KtSymbolKind
@@ -117,6 +117,8 @@ internal class KtFirKotlinPropertySymbol(
override val isOverride: Boolean get() = withValidityAssertion { firSymbol.isOverride }
override val isConst: Boolean get() = withValidityAssertion { firSymbol.isConst }
override val isStatic: Boolean get() = withValidityAssertion { firSymbol.isStatic }
override val isActual: Boolean get() = withValidityAssertion { firSymbol.isActual }
override val isExpect: Boolean get() = withValidityAssertion { firSymbol.isExpect }
override val hasGetter: Boolean get() = withValidityAssertion { firSymbol.getterSymbol != null }
override val hasSetter: Boolean get() = withValidityAssertion { firSymbol.setterSymbol != null }