diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescConstructorSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescConstructorSymbol.kt index 2ab034bcf9f..14ee3692fd4 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescConstructorSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescConstructorSymbol.kt @@ -41,6 +41,12 @@ internal class KtFe10DescConstructorSymbol( override val returnType: KtType get() = withValidityAssertion { descriptor.returnType.toKtType(analysisContext) } + override val isActual: Boolean + get() = withValidityAssertion { descriptor.isActual } + + override val isExpect: Boolean + get() = withValidityAssertion { descriptor.isExpect } + override val typeParameters: List get() = withValidityAssertion { descriptor.typeParameters.mapNotNull { diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescFunctionSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescFunctionSymbol.kt index e04387e7f59..58e58300a69 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescFunctionSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescFunctionSymbol.kt @@ -75,6 +75,12 @@ internal class KtFe10DescFunctionSymbol private constructor( override val isBuiltinFunctionInvoke: Boolean get() = withValidityAssertion { callableIdIfNonLocal in kotlinFunctionInvokeCallableIds } + override val isActual: Boolean + get() = withValidityAssertion { descriptor.isActual } + + override val isExpect: Boolean + get() = withValidityAssertion { descriptor.isExpect } + override val valueParameters: List get() = withValidityAssertion { descriptor.valueParameters.map { KtFe10DescValueParameterSymbol(it, analysisContext) } } diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescKotlinPropertySymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescKotlinPropertySymbol.kt index 74296a98967..fb7f4e25026 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescKotlinPropertySymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescKotlinPropertySymbol.kt @@ -60,6 +60,12 @@ internal class KtFe10DescKotlinPropertySymbol( override val isOverride: Boolean get() = withValidityAssertion { descriptor.isExplicitOverride } + override val isActual: Boolean + get() = withValidityAssertion { descriptor.isActual } + + override val isExpect: Boolean + get() = withValidityAssertion { descriptor.isExpect } + override val hasGetter: Boolean get() = withValidityAssertion { true } diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiConstructorSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiConstructorSymbol.kt index a09c796ba66..3a5138f2a35 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiConstructorSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiConstructorSymbol.kt @@ -30,6 +30,8 @@ import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.psi.KtConstructor import org.jetbrains.kotlin.psi.KtPrimaryConstructor +import org.jetbrains.kotlin.psi.psiUtil.hasActualModifier +import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier import org.jetbrains.kotlin.resolve.BindingContext internal class KtFe10PsiConstructorSymbol( @@ -61,6 +63,12 @@ internal class KtFe10PsiConstructorSymbol( override val visibility: Visibility get() = withValidityAssertion { psi.ktVisibility ?: descriptor?.ktVisibility ?: Visibilities.Public } + override val isActual: Boolean + get() = withValidityAssertion { descriptor?.isActual ?: psi.hasActualModifier() } + + override val isExpect: Boolean + get() = withValidityAssertion { descriptor?.isExpect ?: psi.hasExpectModifier() } + override val typeParameters: List get() = withValidityAssertion { psi.typeParameters.map { KtFe10PsiTypeParameterSymbol(it, analysisContext) } } diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiFunctionSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiFunctionSymbol.kt index 65da2011ad0..40448fe992d 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiFunctionSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiFunctionSymbol.kt @@ -10,13 +10,12 @@ import org.jetbrains.kotlin.analysis.api.base.KtContextReceiver import org.jetbrains.kotlin.analysis.api.contracts.description.KtContractEffectDeclaration import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisFacade.AnalysisMode -import org.jetbrains.kotlin.analysis.api.descriptors.symbols.calculateHashCode import org.jetbrains.kotlin.analysis.api.descriptors.contracts.effectDeclarationToAnalysisApi +import org.jetbrains.kotlin.analysis.api.descriptors.symbols.calculateHashCode import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.* import org.jetbrains.kotlin.analysis.api.descriptors.symbols.isEqualTo import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10NeverRestoringSymbolPointer import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.base.* -import org.jetbrains.kotlin.analysis.api.descriptors.utils.ValidityAwareCachedValue import org.jetbrains.kotlin.analysis.api.descriptors.utils.cached import org.jetbrains.kotlin.analysis.api.impl.base.util.kotlinFunctionInvokeCallableIds import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion @@ -29,7 +28,6 @@ import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointe import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer import org.jetbrains.kotlin.analysis.api.types.KtType import org.jetbrains.kotlin.contracts.description.ContractProviderKey -import org.jetbrains.kotlin.contracts.description.EffectDeclaration import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibilities @@ -38,9 +36,10 @@ import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtNamedFunction +import org.jetbrains.kotlin.psi.psiUtil.hasActualModifier +import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration import org.jetbrains.kotlin.resolve.BindingContext -import kotlin.reflect.KProperty internal class KtFe10PsiFunctionSymbol( override val psi: KtNamedFunction, @@ -81,6 +80,12 @@ internal class KtFe10PsiFunctionSymbol( override val isBuiltinFunctionInvoke: Boolean get() = withValidityAssertion { callableIdIfNonLocal in kotlinFunctionInvokeCallableIds } + override val isActual: Boolean + get() = withValidityAssertion { descriptor?.isActual ?: psi.hasActualModifier() } + + override val isExpect: Boolean + get() = withValidityAssertion { descriptor?.isExpect ?: psi.hasExpectModifier() } + override val valueParameters: List get() = withValidityAssertion { psi.valueParameters.map { KtFe10PsiValueParameterSymbol(it, analysisContext) } } diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiKotlinPropertySymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiKotlinPropertySymbol.kt index dc09b43177d..d8c47937604 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiKotlinPropertySymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiKotlinPropertySymbol.kt @@ -30,6 +30,8 @@ import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtProperty +import org.jetbrains.kotlin.psi.psiUtil.hasActualModifier +import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier import org.jetbrains.kotlin.psi.psiUtil.isExtensionDeclaration import org.jetbrains.kotlin.resolve.BindingContext @@ -96,6 +98,12 @@ internal class KtFe10PsiKotlinPropertySymbol( override val isStatic: Boolean get() = withValidityAssertion { false } + override val isActual: Boolean + get() = withValidityAssertion { descriptor?.isActual ?: psi.hasActualModifier() } + + override val isExpect: Boolean + get() = withValidityAssertion { descriptor?.isExpect ?: psi.hasExpectModifier() } + override val initializer: KtInitializerValue? get() = withValidityAssertion { createKtInitializerValue(psi, descriptor, analysisContext) } diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirConstructorSymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirConstructorSymbol.kt index 4c5af2d2584..f54f5017c80 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirConstructorSymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirConstructorSymbol.kt @@ -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) } diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirFunctionSymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirFunctionSymbol.kt index a5c60c6fad1..883acce7597 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirFunctionSymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirFunctionSymbol.kt @@ -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 diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt index 6d16225de34..d23fad5c691 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt @@ -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 } diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtFunctionLikeSymbol.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtFunctionLikeSymbol.kt index 9cc865e946f..6c8a5163673 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtFunctionLikeSymbol.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtFunctionLikeSymbol.kt @@ -49,6 +49,7 @@ public abstract class KtSamConstructorSymbol : KtFunctionLikeSymbol(), KtNamedSy public abstract class KtFunctionSymbol : KtFunctionLikeSymbol(), KtNamedSymbol, KtPossibleMemberSymbol, + KtPossibleMultiplatformSymbol, KtSymbolWithModality, KtSymbolWithVisibility { @@ -72,6 +73,7 @@ public abstract class KtFunctionSymbol : KtFunctionLikeSymbol(), public abstract class KtConstructorSymbol : KtFunctionLikeSymbol(), KtPossibleMemberSymbol, + KtPossibleMultiplatformSymbol, KtSymbolWithVisibility { public abstract val isPrimary: Boolean diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtVariableLikeSymbol.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtVariableLikeSymbol.kt index 4537d2e70b2..1a5a4237ca3 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtVariableLikeSymbol.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtVariableLikeSymbol.kt @@ -138,7 +138,7 @@ public sealed class KtPropertySymbol : KtVariableSymbol(), abstract override fun createPointer(): KtSymbolPointer } -public abstract class KtKotlinPropertySymbol : KtPropertySymbol() { +public abstract class KtKotlinPropertySymbol : KtPropertySymbol(), KtPossibleMultiplatformSymbol { public abstract val isLateInit: Boolean public abstract val isConst: Boolean diff --git a/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.kt b/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.kt index 1c7d862d8a6..31a2b2711e7 100644 --- a/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.kt +++ b/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.kt @@ -5,22 +5,38 @@ package sample expect object A -expect class B { +expect class B(s: String) { + constructor(n: Int) + class Nested + + fun bar() + + val n: Int } expect class C { class Nested } +expect fun baz() + +expect var m: Int + // MODULE: androidMain(commonMain) // FILE: JvmAndroid.kt package sample actual object A -actual class B { +actual class B actual constructor(s: String) { + actual constructor(n: Int) : this("") + actual class Nested + + actual fun bar() {} + + actual val n: Int = 0 } actual typealias C = D @@ -28,3 +44,7 @@ actual typealias C = D class D { class Nested } + +actual fun baz() {} + +actual var m: Int = 0 \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.pretty.txt b/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.pretty.txt index 049dd67a8d0..460ab3c1029 100644 --- a/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.pretty.txt +++ b/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.pretty.txt @@ -2,25 +2,49 @@ object A -class B +class B(s: kotlin.String) + + constructor(s: kotlin.String) + + constructor(n: kotlin.Int) class Nested + fun bar() + + val n: kotlin.Int + class C class Nested +fun baz() + +var m: kotlin.Int + // FILE: JvmAndroid.kt object A -class B +class B(s: kotlin.String) + + constructor(s: kotlin.String) + + constructor(n: kotlin.Int) class Nested + fun bar() + + val n: kotlin.Int + typealias C = sample.D class D class Nested +fun baz() + +var m: kotlin.Int + diff --git a/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.txt b/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.txt index df00e46dde1..af62fca8a3d 100644 --- a/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.txt +++ b/analysis/analysis-api/testData/symbols/multiModuleSymbolByPsi/expectActual.txt @@ -52,6 +52,90 @@ KtNamedClassOrObjectSymbol: typeParameters: [] visibility: Public +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: sample/B + contextReceivers: [] + hasStableParameterNames: true + isActual: false + isExpect: true + isExtension: false + isPrimary: true + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: sample/B + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: s + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/String + symbolKind: LOCAL + typeParameters: [] + ] + visibility: Public + +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: sample/B + contextReceivers: [] + hasStableParameterNames: true + isActual: false + isExpect: true + isExtension: false + isPrimary: false + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: sample/B + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: n + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + ] + visibility: Public + KtNamedClassOrObjectSymbol: annotationsList: [] classIdIfNonLocal: sample/B.Nested @@ -78,6 +162,103 @@ KtNamedClassOrObjectSymbol: typeParameters: [] visibility: Public +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: sample/B.bar + contextReceivers: [] + contractEffects: [] + hasStableParameterNames: true + isActual: false + isBuiltinFunctionInvoke: false + isExpect: true + isExtension: false + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: FINAL + name: bar + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Unit + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [] + visibility: Public + +KtKotlinPropertySymbol: + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + isExtension: false + name: field + origin: PROPERTY_BACKING_FIELD + owningProperty: KtKotlinPropertySymbol(sample/B.n) + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + callableIdIfNonLocal: sample/B.n + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isActual: false + isConst: false + isDelegatedProperty: false + isExpect: true + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: n + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + KtNamedClassOrObjectSymbol: annotationsList: [] classIdIfNonLocal: sample/C @@ -130,6 +311,164 @@ KtNamedClassOrObjectSymbol: typeParameters: [] visibility: Public +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: sample/baz + contextReceivers: [] + contractEffects: [] + hasStableParameterNames: true + isActual: false + isBuiltinFunctionInvoke: false + isExpect: true + isExtension: false + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: FINAL + name: baz + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Unit + symbolKind: TOP_LEVEL + typeParameters: [] + valueParameters: [] + visibility: Public + +KtKotlinPropertySymbol: + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + isExtension: false + name: field + origin: PROPERTY_BACKING_FIELD + owningProperty: KtKotlinPropertySymbol(sample/m) + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + callableIdIfNonLocal: sample/m + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + hasBackingField: true + hasGetter: true + hasSetter: true + initializer: null + isActual: false + isConst: false + isDelegatedProperty: false + isExpect: true + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: false + modality: FINAL + name: m + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + setter: KtPropertySetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + parameter: KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Unit + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + ] + visibility: Public + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + // FILE: JvmAndroid.kt KtNamedClassOrObjectSymbol: @@ -184,6 +523,90 @@ KtNamedClassOrObjectSymbol: typeParameters: [] visibility: Public +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: sample/B + contextReceivers: [] + hasStableParameterNames: true + isActual: true + isExpect: false + isExtension: false + isPrimary: true + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: sample/B + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: s + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/String + symbolKind: LOCAL + typeParameters: [] + ] + visibility: Public + +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: sample/B + contextReceivers: [] + hasStableParameterNames: true + isActual: true + isExpect: false + isExtension: false + isPrimary: false + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: sample/B + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: n + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + ] + visibility: Public + KtNamedClassOrObjectSymbol: annotationsList: [] classIdIfNonLocal: sample/B.Nested @@ -210,6 +633,103 @@ KtNamedClassOrObjectSymbol: typeParameters: [] visibility: Public +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: sample/B.bar + contextReceivers: [] + contractEffects: [] + hasStableParameterNames: true + isActual: true + isBuiltinFunctionInvoke: false + isExpect: false + isExtension: false + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: FINAL + name: bar + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Unit + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [] + visibility: Public + +KtKotlinPropertySymbol: + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + isExtension: false + name: field + origin: PROPERTY_BACKING_FIELD + owningProperty: KtKotlinPropertySymbol(sample/B.n) + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + callableIdIfNonLocal: sample/B.n + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtConstantInitializerValue(0) + isActual: true + isConst: false + isDelegatedProperty: false + isExpect: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: n + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + KtTypeAliasSymbol: annotationsList: [] classIdIfNonLocal: sample/C @@ -276,3 +796,162 @@ KtNamedClassOrObjectSymbol: symbolKind: CLASS_MEMBER typeParameters: [] visibility: Public + +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: sample/baz + contextReceivers: [] + contractEffects: [] + hasStableParameterNames: true + isActual: true + isBuiltinFunctionInvoke: false + isExpect: false + isExtension: false + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: FINAL + name: baz + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Unit + symbolKind: TOP_LEVEL + typeParameters: [] + valueParameters: [] + visibility: Public + +KtKotlinPropertySymbol: + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + isExtension: false + name: field + origin: PROPERTY_BACKING_FIELD + owningProperty: KtKotlinPropertySymbol(sample/m) + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + callableIdIfNonLocal: sample/m + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + hasBackingField: true + hasGetter: true + hasSetter: true + initializer: KtConstantInitializerValue(0) + isActual: true + isConst: false + isDelegatedProperty: false + isExpect: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: false + modality: FINAL + name: m + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + setter: KtPropertySetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + parameter: KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Unit + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + ] + visibility: Public + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public +