[AA] support @JvmField in KtSymbolInfoProvider
^KT-54311 ^KT-54360 Fixed
This commit is contained in:
committed by
Space Team
parent
f4ae696aee
commit
01d5a5bc5b
+5
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.resolve.deprecation.DeprecationInfo
|
|||||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue
|
import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue
|
||||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationResolver
|
import org.jetbrains.kotlin.resolve.deprecation.DeprecationResolver
|
||||||
import org.jetbrains.kotlin.resolve.deprecation.SimpleDeprecationInfo
|
import org.jetbrains.kotlin.resolve.deprecation.SimpleDeprecationInfo
|
||||||
|
import org.jetbrains.kotlin.resolve.jvm.annotations.hasJvmFieldAnnotation
|
||||||
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil
|
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil
|
||||||
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
||||||
|
|
||||||
@@ -101,6 +102,8 @@ internal class KtFe10SymbolInfoProvider(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (descriptor != null) {
|
if (descriptor != null) {
|
||||||
|
if (descriptor.hasJvmFieldAnnotation()) return descriptor.name
|
||||||
|
|
||||||
val getter = descriptor.getter ?: return SpecialNames.NO_NAME_PROVIDED
|
val getter = descriptor.getter ?: return SpecialNames.NO_NAME_PROVIDED
|
||||||
return Name.identifier(DescriptorUtils.getJvmName(getter) ?: JvmAbi.getterName(descriptor.name.asString()))
|
return Name.identifier(DescriptorUtils.getJvmName(getter) ?: JvmAbi.getterName(descriptor.name.asString()))
|
||||||
}
|
}
|
||||||
@@ -120,6 +123,8 @@ internal class KtFe10SymbolInfoProvider(
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (descriptor.hasJvmFieldAnnotation()) return descriptor.name
|
||||||
|
|
||||||
val setter = descriptor.setter ?: return SpecialNames.NO_NAME_PROVIDED
|
val setter = descriptor.setter ?: return SpecialNames.NO_NAME_PROVIDED
|
||||||
return Name.identifier(DescriptorUtils.getJvmName(setter) ?: JvmAbi.setterName(descriptor.name.asString()))
|
return Name.identifier(DescriptorUtils.getJvmName(setter) ?: JvmAbi.setterName(descriptor.name.asString()))
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -184,6 +184,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByPsiTestGenerated extends A
|
|||||||
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/implicitReturnInLambda.kt");
|
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/implicitReturnInLambda.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("jvmField.kt")
|
||||||
|
public void testJvmField() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("jvmName.kt")
|
@TestMetadata("jvmName.kt")
|
||||||
public void testJvmName() throws Exception {
|
public void testJvmName() throws Exception {
|
||||||
|
|||||||
+31
-13
@@ -18,10 +18,12 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||||
import org.jetbrains.kotlin.fir.declarations.getDeprecationForCallSite
|
import org.jetbrains.kotlin.fir.declarations.getDeprecationForCallSite
|
||||||
import org.jetbrains.kotlin.fir.declarations.getJvmNameFromAnnotation
|
import org.jetbrains.kotlin.fir.declarations.getJvmNameFromAnnotation
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.hasAnnotation
|
||||||
import org.jetbrains.kotlin.fir.languageVersionSettings
|
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.name.StandardClassIds
|
||||||
import org.jetbrains.kotlin.resolve.deprecation.DeprecationInfo
|
import org.jetbrains.kotlin.resolve.deprecation.DeprecationInfo
|
||||||
|
|
||||||
internal class KtFirSymbolInfoProvider(
|
internal class KtFirSymbolInfoProvider(
|
||||||
@@ -70,11 +72,9 @@ internal class KtFirSymbolInfoProvider(
|
|||||||
if (symbol is KtFirSyntheticJavaPropertySymbol) {
|
if (symbol is KtFirSyntheticJavaPropertySymbol) {
|
||||||
return symbol.javaGetterSymbol.name
|
return symbol.javaGetterSymbol.name
|
||||||
}
|
}
|
||||||
val jvmName = run {
|
|
||||||
val firProperty = symbol.firSymbol.fir as? FirProperty ?: return@run null
|
val firProperty = symbol.firSymbol.fir as? FirProperty ?: return symbol.name
|
||||||
firProperty.getJvmNameFromAnnotation(AnnotationUseSiteTarget.PROPERTY_GETTER) ?: firProperty.getter?.getJvmNameFromAnnotation()
|
return getJvmName(firProperty, isSetter = false)
|
||||||
}
|
|
||||||
return Name.identifier(jvmName ?: JvmAbi.getterName(symbol.name.identifier))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getJavaSetterName(symbol: KtPropertySymbol): Name? {
|
override fun getJavaSetterName(symbol: KtPropertySymbol): Name? {
|
||||||
@@ -82,14 +82,32 @@ internal class KtFirSymbolInfoProvider(
|
|||||||
if (symbol is KtFirSyntheticJavaPropertySymbol) {
|
if (symbol is KtFirSyntheticJavaPropertySymbol) {
|
||||||
return symbol.javaSetterSymbol?.name
|
return symbol.javaSetterSymbol?.name
|
||||||
}
|
}
|
||||||
return if (symbol.isVal) null
|
|
||||||
else {
|
val firProperty = symbol.firSymbol.fir as? FirProperty ?: return symbol.name
|
||||||
val jvmName = run {
|
if (firProperty.isVal) return null
|
||||||
val firProperty = symbol.firSymbol.fir as? FirProperty ?: return@run null
|
|
||||||
firProperty.getJvmNameFromAnnotation(AnnotationUseSiteTarget.PROPERTY_GETTER)
|
return getJvmName(firProperty, isSetter = true)
|
||||||
?: firProperty.setter?.getJvmNameFromAnnotation()
|
}
|
||||||
}
|
|
||||||
Name.identifier(jvmName ?: JvmAbi.setterName(symbol.name.identifier))
|
private fun getJvmName(property: FirProperty, isSetter: Boolean): Name {
|
||||||
|
if (property.hasAnnotation(StandardClassIds.Annotations.JvmField)) return property.name
|
||||||
|
return Name.identifier(getJvmNameAsString(property, isSetter))
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getJvmNameAsString(property: FirProperty, isSetter: Boolean): String {
|
||||||
|
val useSiteTarget = if (isSetter) AnnotationUseSiteTarget.PROPERTY_SETTER else AnnotationUseSiteTarget.PROPERTY_GETTER
|
||||||
|
val jvmNameFromProperty = property.getJvmNameFromAnnotation(useSiteTarget)
|
||||||
|
if (jvmNameFromProperty != null) {
|
||||||
|
return jvmNameFromProperty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val accessor = if (isSetter) property.setter else property.getter
|
||||||
|
val jvmNameFromAccessor = accessor?.getJvmNameFromAnnotation()
|
||||||
|
if (jvmNameFromAccessor != null) {
|
||||||
|
return jvmNameFromAccessor
|
||||||
|
}
|
||||||
|
|
||||||
|
val identifier = property.name.identifier
|
||||||
|
return if (isSetter) JvmAbi.setterName(identifier) else JvmAbi.getterName(identifier)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -184,6 +184,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByPsiTestGenerated extends Ab
|
|||||||
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/implicitReturnInLambda.kt");
|
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/implicitReturnInLambda.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("jvmField.kt")
|
||||||
|
public void testJvmField() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("jvmName.kt")
|
@TestMetadata("jvmName.kt")
|
||||||
public void testJvmName() throws Exception {
|
public void testJvmName() throws Exception {
|
||||||
|
|||||||
+6
@@ -184,6 +184,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByPsiTestGenerated ext
|
|||||||
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/implicitReturnInLambda.kt");
|
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/implicitReturnInLambda.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("jvmField.kt")
|
||||||
|
public void testJvmField() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("jvmName.kt")
|
@TestMetadata("jvmName.kt")
|
||||||
public void testJvmName() throws Exception {
|
public void testJvmName() throws Exception {
|
||||||
|
|||||||
+37
-4
@@ -6,7 +6,7 @@ KtFileSymbol:
|
|||||||
deprecationStatus: null
|
deprecationStatus: null
|
||||||
|
|
||||||
CALLABLE NAMES:
|
CALLABLE NAMES:
|
||||||
[function, functionWithDefault, testVal, initializedVariable, unitializedVariable, lateinitVariable, variableWithBackingField, privateSetter, customGetter, jvmNameOnGetter, propertyWithReceiver, propertyWithGenericReceiver, constant, jvmField]
|
[function, functionWithDefault, testVal, initializedVariable, unitializedVariable, lateinitVariable, variableWithBackingField, privateSetter, jvmNameOnSetter, customGetter, jvmNameOnGetter, propertyWithReceiver, propertyWithGenericReceiver, constant, jvmField]
|
||||||
|
|
||||||
CALLABLE SYMBOLS:
|
CALLABLE SYMBOLS:
|
||||||
KtFunctionSymbol:
|
KtFunctionSymbol:
|
||||||
@@ -261,7 +261,40 @@ KtKotlinPropertySymbol:
|
|||||||
deprecationStatus: null
|
deprecationStatus: null
|
||||||
getterDeprecationStatus: null
|
getterDeprecationStatus: null
|
||||||
javaGetterName: getPrivateSetter
|
javaGetterName: getPrivateSetter
|
||||||
javaSetterName: setPrivateSetter
|
javaSetterName: customPrivateSetter
|
||||||
|
setterDeprecationStatus: null
|
||||||
|
|
||||||
|
KtKotlinPropertySymbol:
|
||||||
|
annotationsList: []
|
||||||
|
callableIdIfNonLocal: /jvmNameOnSetter
|
||||||
|
contextReceivers: []
|
||||||
|
getter: KtPropertyGetterSymbol(<getter>)
|
||||||
|
hasBackingField: true
|
||||||
|
hasGetter: true
|
||||||
|
hasSetter: true
|
||||||
|
initializer: null
|
||||||
|
isConst: false
|
||||||
|
isDelegatedProperty: false
|
||||||
|
isExtension: false
|
||||||
|
isFromPrimaryConstructor: false
|
||||||
|
isLateInit: false
|
||||||
|
isOverride: false
|
||||||
|
isStatic: false
|
||||||
|
isVal: false
|
||||||
|
modality: FINAL
|
||||||
|
name: jvmNameOnSetter
|
||||||
|
origin: SOURCE
|
||||||
|
receiverType: null
|
||||||
|
returnType: kotlin/String
|
||||||
|
setter: KtPropertySetterSymbol(<setter>)
|
||||||
|
symbolKind: TOP_LEVEL
|
||||||
|
typeParameters: []
|
||||||
|
visibility: Public
|
||||||
|
getContainingModule: KtSourceModule "Sources of main"
|
||||||
|
deprecationStatus: null
|
||||||
|
getterDeprecationStatus: null
|
||||||
|
javaGetterName: getJvmNameOnSetter
|
||||||
|
javaSetterName: customPrivateSetter
|
||||||
setterDeprecationStatus: null
|
setterDeprecationStatus: null
|
||||||
|
|
||||||
KtKotlinPropertySymbol:
|
KtKotlinPropertySymbol:
|
||||||
@@ -460,8 +493,8 @@ KtKotlinPropertySymbol:
|
|||||||
getContainingModule: KtSourceModule "Sources of main"
|
getContainingModule: KtSourceModule "Sources of main"
|
||||||
deprecationStatus: null
|
deprecationStatus: null
|
||||||
getterDeprecationStatus: null
|
getterDeprecationStatus: null
|
||||||
javaGetterName: getJvmField
|
javaGetterName: jvmField
|
||||||
javaSetterName: setJvmField
|
javaSetterName: jvmField
|
||||||
setterDeprecationStatus: null
|
setterDeprecationStatus: null
|
||||||
|
|
||||||
CLASSIFIER NAMES:
|
CLASSIFIER NAMES:
|
||||||
|
|||||||
@@ -13,9 +13,14 @@ lateinit var lateinitVariable: String
|
|||||||
var variableWithBackingField: Long = 4
|
var variableWithBackingField: Long = 4
|
||||||
get() = field
|
get() = field
|
||||||
|
|
||||||
|
@set:JvmName("customPrivateSetter")
|
||||||
var privateSetter = ""
|
var privateSetter = ""
|
||||||
private set
|
private set
|
||||||
|
|
||||||
|
var jvmNameOnSetter = ""
|
||||||
|
@JvmName("customPrivateSetter")
|
||||||
|
private set
|
||||||
|
|
||||||
@get:JvmName("myCustomGetter")
|
@get:JvmName("myCustomGetter")
|
||||||
val customGetter: Int get() = 2
|
val customGetter: Int get() = 2
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ KtFileSymbol:
|
|||||||
deprecationStatus: null
|
deprecationStatus: null
|
||||||
|
|
||||||
CALLABLE NAMES:
|
CALLABLE NAMES:
|
||||||
[function, functionWithDefault, testVal, initializedVariable, unitializedVariable, lateinitVariable, variableWithBackingField, privateSetter, customGetter, jvmNameOnGetter, propertyWithReceiver, propertyWithGenericReceiver, constant, jvmField]
|
[function, functionWithDefault, testVal, initializedVariable, unitializedVariable, lateinitVariable, variableWithBackingField, privateSetter, jvmNameOnSetter, customGetter, jvmNameOnGetter, propertyWithReceiver, propertyWithGenericReceiver, constant, jvmField]
|
||||||
|
|
||||||
CALLABLE SYMBOLS:
|
CALLABLE SYMBOLS:
|
||||||
KtFunctionSymbol:
|
KtFunctionSymbol:
|
||||||
@@ -261,7 +261,40 @@ KtKotlinPropertySymbol:
|
|||||||
deprecationStatus: null
|
deprecationStatus: null
|
||||||
getterDeprecationStatus: null
|
getterDeprecationStatus: null
|
||||||
javaGetterName: getPrivateSetter
|
javaGetterName: getPrivateSetter
|
||||||
javaSetterName: setPrivateSetter
|
javaSetterName: customPrivateSetter
|
||||||
|
setterDeprecationStatus: null
|
||||||
|
|
||||||
|
KtKotlinPropertySymbol:
|
||||||
|
annotationsList: []
|
||||||
|
callableIdIfNonLocal: /jvmNameOnSetter
|
||||||
|
contextReceivers: []
|
||||||
|
getter: KtPropertyGetterSymbol(<getter>)
|
||||||
|
hasBackingField: true
|
||||||
|
hasGetter: true
|
||||||
|
hasSetter: true
|
||||||
|
initializer: KtConstantInitializerValue("")
|
||||||
|
isConst: false
|
||||||
|
isDelegatedProperty: false
|
||||||
|
isExtension: false
|
||||||
|
isFromPrimaryConstructor: false
|
||||||
|
isLateInit: false
|
||||||
|
isOverride: false
|
||||||
|
isStatic: false
|
||||||
|
isVal: false
|
||||||
|
modality: FINAL
|
||||||
|
name: jvmNameOnSetter
|
||||||
|
origin: SOURCE
|
||||||
|
receiverType: null
|
||||||
|
returnType: kotlin/String
|
||||||
|
setter: KtPropertySetterSymbol(<setter>)
|
||||||
|
symbolKind: TOP_LEVEL
|
||||||
|
typeParameters: []
|
||||||
|
visibility: Public
|
||||||
|
getContainingModule: KtSourceModule "Sources of main"
|
||||||
|
deprecationStatus: null
|
||||||
|
getterDeprecationStatus: null
|
||||||
|
javaGetterName: getJvmNameOnSetter
|
||||||
|
javaSetterName: customPrivateSetter
|
||||||
setterDeprecationStatus: null
|
setterDeprecationStatus: null
|
||||||
|
|
||||||
KtKotlinPropertySymbol:
|
KtKotlinPropertySymbol:
|
||||||
@@ -463,8 +496,8 @@ KtKotlinPropertySymbol:
|
|||||||
getContainingModule: KtSourceModule "Sources of main"
|
getContainingModule: KtSourceModule "Sources of main"
|
||||||
deprecationStatus: null
|
deprecationStatus: null
|
||||||
getterDeprecationStatus: null
|
getterDeprecationStatus: null
|
||||||
javaGetterName: getJvmField
|
javaGetterName: jvmField
|
||||||
javaSetterName: setJvmField
|
javaSetterName: jvmField
|
||||||
setterDeprecationStatus: null
|
setterDeprecationStatus: null
|
||||||
|
|
||||||
CLASSIFIER NAMES:
|
CLASSIFIER NAMES:
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
var jvmField: kotlin.Long
|
||||||
|
|
||||||
|
var jvmFieldOnField: kotlin.Int
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
KtKotlinPropertySymbol:
|
||||||
|
annotationsList: []
|
||||||
|
callableIdIfNonLocal: /jvmField
|
||||||
|
contextReceivers: []
|
||||||
|
getter: KtPropertyGetterSymbol(<getter>)
|
||||||
|
hasBackingField: true
|
||||||
|
hasGetter: true
|
||||||
|
hasSetter: true
|
||||||
|
initializer: KtConstantInitializerValue(2)
|
||||||
|
isConst: false
|
||||||
|
isDelegatedProperty: false
|
||||||
|
isExtension: false
|
||||||
|
isFromPrimaryConstructor: false
|
||||||
|
isLateInit: false
|
||||||
|
isOverride: false
|
||||||
|
isStatic: false
|
||||||
|
isVal: false
|
||||||
|
modality: FINAL
|
||||||
|
name: jvmField
|
||||||
|
origin: SOURCE
|
||||||
|
receiverType: null
|
||||||
|
returnType: kotlin/Long
|
||||||
|
setter: KtPropertySetterSymbol(<setter>)
|
||||||
|
symbolKind: TOP_LEVEL
|
||||||
|
typeParameters: []
|
||||||
|
visibility: Public
|
||||||
|
getContainingModule: KtSourceModule "Sources of main"
|
||||||
|
deprecationStatus: null
|
||||||
|
getterDeprecationStatus: null
|
||||||
|
javaGetterName: jvmField
|
||||||
|
javaSetterName: jvmField
|
||||||
|
setterDeprecationStatus: null
|
||||||
|
|
||||||
|
KtKotlinPropertySymbol:
|
||||||
|
annotationsList: []
|
||||||
|
callableIdIfNonLocal: /jvmFieldOnField
|
||||||
|
contextReceivers: []
|
||||||
|
getter: KtPropertyGetterSymbol(<getter>)
|
||||||
|
hasBackingField: true
|
||||||
|
hasGetter: true
|
||||||
|
hasSetter: true
|
||||||
|
initializer: KtConstantInitializerValue(4)
|
||||||
|
isConst: false
|
||||||
|
isDelegatedProperty: false
|
||||||
|
isExtension: false
|
||||||
|
isFromPrimaryConstructor: false
|
||||||
|
isLateInit: false
|
||||||
|
isOverride: false
|
||||||
|
isStatic: false
|
||||||
|
isVal: false
|
||||||
|
modality: FINAL
|
||||||
|
name: jvmFieldOnField
|
||||||
|
origin: SOURCE
|
||||||
|
receiverType: null
|
||||||
|
returnType: kotlin/Int
|
||||||
|
setter: KtPropertySetterSymbol(<setter>)
|
||||||
|
symbolKind: TOP_LEVEL
|
||||||
|
typeParameters: []
|
||||||
|
visibility: Public
|
||||||
|
getContainingModule: KtSourceModule "Sources of main"
|
||||||
|
deprecationStatus: null
|
||||||
|
getterDeprecationStatus: null
|
||||||
|
javaGetterName: jvmFieldOnField
|
||||||
|
javaSetterName: jvmFieldOnField
|
||||||
|
setterDeprecationStatus: null
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// WITH_STDLIB
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
var jvmField: Long = 2
|
||||||
|
|
||||||
|
@field:JvmField
|
||||||
|
var jvmFieldOnField: Int = 4
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
@kotlin.jvm.JvmField
|
||||||
|
var jvmField: kotlin.Long
|
||||||
|
|
||||||
|
@kotlin.jvm.JvmField
|
||||||
|
var jvmFieldOnField: kotlin.Int
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
KtKotlinPropertySymbol:
|
||||||
|
annotationsList: [
|
||||||
|
kotlin/jvm/JvmField()
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
|
callableIdIfNonLocal: /jvmField
|
||||||
|
contextReceivers: []
|
||||||
|
getter: KtPropertyGetterSymbol(<getter>)
|
||||||
|
hasBackingField: true
|
||||||
|
hasGetter: true
|
||||||
|
hasSetter: true
|
||||||
|
initializer: KtConstantInitializerValue(2)
|
||||||
|
isConst: false
|
||||||
|
isDelegatedProperty: false
|
||||||
|
isExtension: false
|
||||||
|
isFromPrimaryConstructor: false
|
||||||
|
isLateInit: false
|
||||||
|
isOverride: false
|
||||||
|
isStatic: false
|
||||||
|
isVal: false
|
||||||
|
modality: FINAL
|
||||||
|
name: jvmField
|
||||||
|
origin: SOURCE
|
||||||
|
receiverType: null
|
||||||
|
returnType: kotlin/Long
|
||||||
|
setter: KtPropertySetterSymbol(<setter>)
|
||||||
|
symbolKind: TOP_LEVEL
|
||||||
|
typeParameters: []
|
||||||
|
visibility: Public
|
||||||
|
getContainingModule: KtSourceModule "Sources of main"
|
||||||
|
deprecationStatus: null
|
||||||
|
getterDeprecationStatus: null
|
||||||
|
javaGetterName: jvmField
|
||||||
|
javaSetterName: jvmField
|
||||||
|
setterDeprecationStatus: null
|
||||||
|
|
||||||
|
KtKotlinPropertySymbol:
|
||||||
|
annotationsList: [
|
||||||
|
kotlin/jvm/JvmField()
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
|
callableIdIfNonLocal: /jvmFieldOnField
|
||||||
|
contextReceivers: []
|
||||||
|
getter: KtPropertyGetterSymbol(<getter>)
|
||||||
|
hasBackingField: true
|
||||||
|
hasGetter: true
|
||||||
|
hasSetter: true
|
||||||
|
initializer: KtConstantInitializerValue(4)
|
||||||
|
isConst: false
|
||||||
|
isDelegatedProperty: false
|
||||||
|
isExtension: false
|
||||||
|
isFromPrimaryConstructor: false
|
||||||
|
isLateInit: false
|
||||||
|
isOverride: false
|
||||||
|
isStatic: false
|
||||||
|
isVal: false
|
||||||
|
modality: FINAL
|
||||||
|
name: jvmFieldOnField
|
||||||
|
origin: SOURCE
|
||||||
|
receiverType: null
|
||||||
|
returnType: kotlin/Int
|
||||||
|
setter: KtPropertySetterSymbol(<setter>)
|
||||||
|
symbolKind: TOP_LEVEL
|
||||||
|
typeParameters: []
|
||||||
|
visibility: Public
|
||||||
|
getContainingModule: KtSourceModule "Sources of main"
|
||||||
|
deprecationStatus: null
|
||||||
|
getterDeprecationStatus: null
|
||||||
|
javaGetterName: jvmFieldOnField
|
||||||
|
javaSetterName: jvmFieldOnField
|
||||||
|
setterDeprecationStatus: null
|
||||||
Reference in New Issue
Block a user