diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/components/KtFe10CallResolver.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/components/KtFe10CallResolver.kt index 57c54211a2b..e993015dc98 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/components/KtFe10CallResolver.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/components/KtFe10CallResolver.kt @@ -65,8 +65,8 @@ internal class KtFe10CallResolver( val accessorSymbol = when (targetDescriptor) { is SyntheticJavaPropertyDescriptor -> { when { - access.isWrite -> targetDescriptor.setMethod?.let { KtFe10DescFunctionSymbol(it, analysisContext) } - access.isRead -> KtFe10DescFunctionSymbol(targetDescriptor.getMethod, analysisContext) + access.isWrite -> targetDescriptor.setMethod?.let { KtFe10DescFunctionSymbol.build(it, analysisContext) } + access.isRead -> KtFe10DescFunctionSymbol.build(targetDescriptor.getMethod, analysisContext) else -> null } } 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 f565c8194b3..aaa7686c720 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 @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.calls.inference.returnTypeOrNothing import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension -internal class KtFe10DescFunctionSymbol( +internal class KtFe10DescFunctionSymbol private constructor( override val descriptor: FunctionDescriptor, override val analysisContext: Fe10AnalysisContext ) : KtFunctionSymbol(), KtFe10DescMemberSymbol { @@ -91,4 +91,10 @@ internal class KtFe10DescFunctionSymbol( return KtFe10NeverRestoringSymbolPointer() } + + companion object { + fun build(descriptor: FunctionDescriptor, analysisContext: Fe10AnalysisContext): KtFe10DescFunctionSymbol { + return KtFe10DescFunctionSymbol(descriptor, analysisContext) + } + } } \ No newline at end of file diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbol.kt index af2c117e168..2a6e7437f8d 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbol.kt @@ -52,12 +52,12 @@ internal class KtFe10DescSyntheticJavaPropertySymbol( } override val javaGetterSymbol: KtFunctionSymbol - get() = withValidityAssertion { KtFe10DescFunctionSymbol(descriptor.getMethod, analysisContext) } + get() = withValidityAssertion { KtFe10DescFunctionSymbol.build(descriptor.getMethod, analysisContext) } override val javaSetterSymbol: KtFunctionSymbol? get() = withValidityAssertion { val setMethod = descriptor.setMethod ?: return null - return KtFe10DescFunctionSymbol(setMethod, analysisContext) + return KtFe10DescFunctionSymbol.build(setMethod, analysisContext) } override val hasSetter: Boolean diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbolForOverride.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbolForOverride.kt index 54e153e348d..96465207d18 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbolForOverride.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbolForOverride.kt @@ -52,12 +52,12 @@ internal class KtFe10DescSyntheticJavaPropertySymbolForOverride( } override val javaGetterSymbol: KtFunctionSymbol - get() = withValidityAssertion { KtFe10DescFunctionSymbol(descriptor.getterMethod, analysisContext) } + get() = withValidityAssertion { KtFe10DescFunctionSymbol.build(descriptor.getterMethod, analysisContext) } override val javaSetterSymbol: KtFunctionSymbol? get() = withValidityAssertion { val setMethod = descriptor.setterMethod ?: return null - return KtFe10DescFunctionSymbol(setMethod, analysisContext) + return KtFe10DescFunctionSymbol.build(setMethod, analysisContext) } override val hasSetter: Boolean diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt index 88e7d96fb15..ba67337d06a 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.analysis.api.* import org.jetbrains.kotlin.analysis.api.annotations.KtNamedConstantValue import org.jetbrains.kotlin.analysis.api.components.KtDeclarationRendererOptions import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext -import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.* import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.base.KtFe10PsiSymbol import org.jetbrains.kotlin.analysis.api.descriptors.types.* @@ -129,7 +128,7 @@ internal fun CallableDescriptor.toKtCallableSymbol(analysisContext: Fe10Analysis if (DescriptorUtils.isAnonymousFunction(this)) { KtFe10DescAnonymousFunctionSymbol(this, analysisContext) } else { - KtFe10DescFunctionSymbol(this, analysisContext) + KtFe10DescFunctionSymbol.build(this, analysisContext) } } is SyntheticFieldDescriptor -> KtFe10DescSyntheticFieldSymbol(this, analysisContext)