[ObjCExport] Remove unnecessary instances in favor of static methods
All state will later be stored inside the KtObjCExportSession KT-64226
This commit is contained in:
committed by
Space Team
parent
2f759243ba
commit
b78f185299
+1
-1
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
|
|||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||||
import org.jetbrains.kotlin.psi.KtPrimaryConstructor
|
import org.jetbrains.kotlin.psi.KtPrimaryConstructor
|
||||||
|
|
||||||
internal fun KtSymbol.findKDocString(): String? {
|
internal fun KtSymbol.getKDocString(): String? {
|
||||||
val psi = psi
|
val psi = psi
|
||||||
if (psi is KtDeclaration) {
|
if (psi is KtDeclaration) {
|
||||||
if (psi is KtPrimaryConstructor)
|
if (psi is KtPrimaryConstructor)
|
||||||
-13
@@ -7,11 +7,8 @@ package org.jetbrains.kotlin.objcexport
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.KtClassLikeSymbol
|
import org.jetbrains.kotlin.analysis.api.symbols.KtClassLikeSymbol
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol
|
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.nameOrAnonymous
|
import org.jetbrains.kotlin.analysis.api.symbols.nameOrAnonymous
|
||||||
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportClassOrProtocolName
|
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportClassOrProtocolName
|
||||||
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportPropertyName
|
|
||||||
|
|
||||||
|
|
||||||
context(KtAnalysisSession, KtObjCExportSession)
|
context(KtAnalysisSession, KtObjCExportSession)
|
||||||
fun KtClassLikeSymbol.getObjCClassOrProtocolName(): ObjCExportClassOrProtocolName {
|
fun KtClassLikeSymbol.getObjCClassOrProtocolName(): ObjCExportClassOrProtocolName {
|
||||||
@@ -22,13 +19,3 @@ fun KtClassLikeSymbol.getObjCClassOrProtocolName(): ObjCExportClassOrProtocolNam
|
|||||||
swiftName = resolvedObjCNameAnnotation?.swiftName ?: nameOrAnonymous.asString()
|
swiftName = resolvedObjCNameAnnotation?.swiftName ?: nameOrAnonymous.asString()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
context(KtAnalysisSession, KtObjCExportSession)
|
|
||||||
fun KtPropertySymbol.getObjCPropertyName(): ObjCExportPropertyName {
|
|
||||||
val resolveObjCNameAnnotation = resolveObjCNameAnnotation()
|
|
||||||
|
|
||||||
return ObjCExportPropertyName(
|
|
||||||
objCName = resolveObjCNameAnnotation?.objCName ?: name.asString(),
|
|
||||||
swiftName = resolveObjCNameAnnotation?.swiftName ?: name.asString()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* 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.objcexport
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||||
|
import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol
|
||||||
|
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportPropertyName
|
||||||
|
|
||||||
|
|
||||||
|
context(KtAnalysisSession, KtObjCExportSession)
|
||||||
|
fun KtPropertySymbol.getObjCPropertyName(): ObjCExportPropertyName {
|
||||||
|
val resolveObjCNameAnnotation = resolveObjCNameAnnotation()
|
||||||
|
|
||||||
|
return ObjCExportPropertyName(
|
||||||
|
objCName = resolveObjCNameAnnotation?.objCName ?: name.asString(),
|
||||||
|
swiftName = resolveObjCNameAnnotation?.swiftName ?: name.asString()
|
||||||
|
)
|
||||||
|
}
|
||||||
+3
-3
@@ -9,15 +9,15 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
|||||||
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
|
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtPossiblyNamedSymbol
|
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtPossiblyNamedSymbol
|
||||||
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportStubOrigin
|
import org.jetbrains.kotlin.backend.konan.objcexport.ObjCExportStubOrigin
|
||||||
import org.jetbrains.kotlin.objcexport.analysisApiUtils.findKDocString
|
import org.jetbrains.kotlin.objcexport.analysisApiUtils.getKDocString
|
||||||
|
|
||||||
context(KtAnalysisSession)
|
context(KtAnalysisSession)
|
||||||
fun KtSymbol.objCStubOrigin(): ObjCExportStubOrigin {
|
fun KtSymbol.getObjCStubOrigin(): ObjCExportStubOrigin {
|
||||||
// TODO: Differentiate origins
|
// TODO: Differentiate origins
|
||||||
// TODO: Extract kdoc from deserialized symbols
|
// TODO: Extract kdoc from deserialized symbols
|
||||||
return ObjCExportStubOrigin.Source(
|
return ObjCExportStubOrigin.Source(
|
||||||
name = let { it as? KtPossiblyNamedSymbol }?.name,
|
name = let { it as? KtPossiblyNamedSymbol }?.name,
|
||||||
psi = psi,
|
psi = psi,
|
||||||
kdoc = findKDocString()
|
kdoc = getKDocString()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
+1
-1
@@ -43,7 +43,7 @@ fun KtClassOrObjectSymbol.translateToObjCProtocol(): ObjCProtocol {
|
|||||||
return ObjCProtocolImpl(
|
return ObjCProtocolImpl(
|
||||||
name = name.objCName,
|
name = name.objCName,
|
||||||
comment = comment,
|
comment = comment,
|
||||||
origin = this.objCStubOrigin(),
|
origin = getObjCStubOrigin(),
|
||||||
attributes = emptyList(),
|
attributes = emptyList(),
|
||||||
superProtocols = superProtocols,
|
superProtocols = superProtocols,
|
||||||
members = members
|
members = members
|
||||||
|
|||||||
+4
-4
@@ -6,14 +6,14 @@
|
|||||||
package org.jetbrains.kotlin.objcexport.tests
|
package org.jetbrains.kotlin.objcexport.tests
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.api.analyze
|
import org.jetbrains.kotlin.analysis.api.analyze
|
||||||
import org.jetbrains.kotlin.objcexport.analysisApiUtils.findKDocString
|
import org.jetbrains.kotlin.objcexport.analysisApiUtils.getKDocString
|
||||||
import org.jetbrains.kotlin.objcexport.testUtils.InlineSourceCodeAnalysis
|
import org.jetbrains.kotlin.objcexport.testUtils.InlineSourceCodeAnalysis
|
||||||
import org.jetbrains.kotlin.objcexport.testUtils.getClassOrFail
|
import org.jetbrains.kotlin.objcexport.testUtils.getClassOrFail
|
||||||
import org.jetbrains.kotlin.objcexport.testUtils.getFunctionOrFail
|
import org.jetbrains.kotlin.objcexport.testUtils.getFunctionOrFail
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
class FindKdocStringTest(
|
class GetKdocStringTest(
|
||||||
private val inlineSourceCodeAnalysis: InlineSourceCodeAnalysis,
|
private val inlineSourceCodeAnalysis: InlineSourceCodeAnalysis,
|
||||||
) {
|
) {
|
||||||
@Test
|
@Test
|
||||||
@@ -35,7 +35,7 @@ class FindKdocStringTest(
|
|||||||
* Kdoc for 'Foo'
|
* Kdoc for 'Foo'
|
||||||
*/
|
*/
|
||||||
""".trimIndent(),
|
""".trimIndent(),
|
||||||
foo.findKDocString()
|
foo.getKDocString()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -59,7 +59,7 @@ class FindKdocStringTest(
|
|||||||
* Kdoc for 'foo'
|
* Kdoc for 'foo'
|
||||||
*/
|
*/
|
||||||
""".trimIndent(),
|
""".trimIndent(),
|
||||||
foo.findKDocString()
|
foo.getKDocString()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user