Fix of UL classes muted tests

Add visibility modifier to companion field
Const initializer is now getting for const properties only

Fixed tests:
UltraLightClassLoadingTestGenerated.testAnnotations
UltraLightClassLoadingTestGenerated.testInheritance
UltraLightClassLoadingTestGenerated.testProperties
UltraLightClassSanityTestGenerated.IdeRegression.testImplementingMutableSet
UltraLightClassSanityTestGenerated.IdeRegression.testOverridingFinalInternal_extra
UltraLightClassSanityTestGenerated.IdeRegression.testOverridingInternal
UltraLightClassSanityTestGenerated.IdeRegression.testOverridingInternal_extra
UltraLightClassSanityTestGenerated.IdeRegression.testOverridingProtected_extra
UltraLightFacadeClassTestGenerated.testProperties
UltraLightClassLoadingTestGenerated.testObjects
This commit is contained in:
Igor Yakovlev
2020-01-17 20:11:30 +03:00
parent 15a441141f
commit ac9c106a77
3 changed files with 9 additions and 4 deletions
@@ -184,7 +184,7 @@ open class KtUltraLightClass(classOrObject: KtClassOrObject, internal val suppor
membersBuilder.generateUniqueFieldName(companion.name.orEmpty(), usedNames),
this,
support,
setOf(PsiModifier.STATIC, PsiModifier.FINAL, PsiModifier.PUBLIC)
setOf(PsiModifier.STATIC, PsiModifier.FINAL, companion.simpleVisibility())
)
)
@@ -19,6 +19,9 @@ import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.VariableDescriptor
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
import org.jetbrains.kotlin.idea.KotlinLanguage
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.lexer.KtTokens.VAL_KEYWORD
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.*
@@ -144,7 +147,9 @@ internal open class KtUltraLightFieldImpl protected constructor(
override fun hasInitializer(): Boolean = initializer !== null
private val _constantInitializer by lazyPub {
if ((declaration as? KtProperty)?.hasInitializer() != true) return@lazyPub null
if (declaration !is KtProperty) return@lazyPub null
if (!declaration.hasModifier(KtTokens.CONST_KEYWORD)) return@lazyPub null
if (!declaration.hasInitializer()) return@lazyPub null
if (!hasModifierProperty(PsiModifier.FINAL)) return@lazyPub null
if (!TypeConversionUtil.isPrimitiveAndNotNull(_type) && !_type.equalsToText(CommonClassNames.JAVA_LANG_STRING)) return@lazyPub null
propertyDescriptor?.compileTimeInitializer
@@ -36,7 +36,7 @@ public final class ArrayOfAnonymous /* ArrayOfAnonymous*/ {
}
final class null /* null*/ {
private static final java.lang.String fy = "text" /* initializer type: java.lang.String */ /* constant value text */;
private static final java.lang.String fy;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getFy();
@@ -89,7 +89,7 @@ public final class Sub /* Sub*/ extends Super {
}
final class null /* null*/ {
private static final java.lang.String fy = "text" /* initializer type: java.lang.String */ /* constant value text */;
private static final java.lang.String fy;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getFy();