diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForNamedClassLike.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForNamedClassLike.kt index e08202c1b64..12131726b2a 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForNamedClassLike.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForNamedClassLike.kt @@ -21,8 +21,8 @@ import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightMethod import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmStaticAnnotation +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightField import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForObject -import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForProperty import org.jetbrains.kotlin.light.classes.symbol.isConstOrJvmField import org.jetbrains.kotlin.light.classes.symbol.modifierLists.GranularModifiersBox import org.jetbrains.kotlin.psi.KtClassOrObject @@ -99,6 +99,7 @@ abstract class SymbolLightClassForNamedClassLike : SymbolLightClassForClassLike< result: MutableList, classOrObjectSymbol: KtNamedClassOrObjectSymbol, ) { + val nameGenerator = SymbolLightField.FieldNameGenerator() classOrObjectSymbol.companionObject ?.getDeclaredMemberScope() ?.getCallableSymbols() @@ -106,14 +107,12 @@ abstract class SymbolLightClassForNamedClassLike : SymbolLightClassForClassLike< ?.applyIf(isInterface) { filter { it.isConstOrJvmField } } - ?.mapTo(result) { - SymbolLightFieldForProperty( - ktAnalysisSession = this@KtAnalysisSession, - propertySymbol = it, - fieldName = it.name.asString(), - containingClass = this, - lightMemberOrigin = null, + ?.forEach { + createField( + declaration = it, + nameGenerator = nameGenerator, isStatic = true, + result = result ) } } diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/TraitClassObjectField.java b/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/TraitClassObjectField.java index 327eb447978..92688a26ee9 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/TraitClassObjectField.java +++ b/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/TraitClassObjectField.java @@ -2,16 +2,16 @@ public abstract interface TraitClassObjectField /* TraitClassObjectField*/ { @org.jetbrains.annotations.NotNull() public static final TraitClassObjectField.Companion Companion; - @org.jetbrains.annotations.Nullable() + @org.jetbrains.annotations.NotNull() public static final java.lang.String x = "" /* initializer type: java.lang.String */ /* constant value */; public static final class Companion /* TraitClassObjectField.Companion*/ { + @org.jetbrains.annotations.NotNull() + public static final java.lang.String x = "" /* initializer type: java.lang.String */ /* constant value */; + @org.jetbrains.annotations.Nullable() private static final java.lang.String y; - @org.jetbrains.annotations.Nullable() - public static final java.lang.String x = "" /* initializer type: java.lang.String */ /* constant value */; - private Companion();// .ctor() } -} +} \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/TraitClassObjectField.kt b/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/TraitClassObjectField.kt index 8f33d5deddc..8eba2f04b04 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/TraitClassObjectField.kt +++ b/compiler/testData/asJava/lightClasses/lightClassByFqName/compilationErrors/TraitClassObjectField.kt @@ -2,7 +2,7 @@ interface TraitClassObjectField { companion object { - const val x: String? = "" + const val x: String = "" private val y: String? = { "" }() } } \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/objects.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/objects.java index 8c5256188c8..7c513d7eb5c 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/objects.java +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/objects.java @@ -1,10 +1,4 @@ public final class C /* C*/ { - @org.jetbrains.annotations.NotNull() - private static java.lang.String c1; - - @org.jetbrains.annotations.NotNull() - private static java.lang.String c; - @org.jetbrains.annotations.NotNull() private static java.lang.String x = "" /* initializer type: java.lang.String */;