Revert "K2/Java: add private enum constructor for MPP matching"
Review: https://jetbrains.team/p/kt/reviews/13368/timeline This reverts commit2cea2b9098. Motivation: KT-62961 was fixed independently by two different commits: -ac3d8ad3ac-2cea2b9098If possible, it's better not to introduce implicit declarations. That's why it was agreed to keepac3d8ad3acand revert2cea2b9098
This commit is contained in:
@@ -361,22 +361,11 @@ abstract class FirJavaFacade(
|
||||
)
|
||||
generateValueOfFunction(moduleData, classId.packageFqName, classId.relativeClassName)
|
||||
generateEntriesGetter(moduleData, classId.packageFqName, classId.relativeClassName)
|
||||
if (javaClassDeclaredConstructors.isEmpty()) {
|
||||
declarations += buildSyntheticConstructorForJavaClass(
|
||||
javaClass,
|
||||
classKind,
|
||||
constructorId = constructorId,
|
||||
ownerClassBuilder = this,
|
||||
valueParametersForAnnotationConstructor = null,
|
||||
moduleData = moduleData,
|
||||
)
|
||||
}
|
||||
}
|
||||
if (classIsAnnotation) {
|
||||
declarations +=
|
||||
buildSyntheticConstructorForJavaClass(
|
||||
buildConstructorForAnnotationClass(
|
||||
javaClass,
|
||||
classKind,
|
||||
constructorId = constructorId,
|
||||
ownerClassBuilder = this,
|
||||
valueParametersForAnnotationConstructor = valueParametersForAnnotationConstructor,
|
||||
@@ -687,12 +676,11 @@ abstract class FirJavaFacade(
|
||||
}
|
||||
}
|
||||
|
||||
private fun buildSyntheticConstructorForJavaClass(
|
||||
private fun buildConstructorForAnnotationClass(
|
||||
javaClass: JavaClass,
|
||||
classKind: ClassKind,
|
||||
constructorId: CallableId,
|
||||
ownerClassBuilder: FirJavaClassBuilder,
|
||||
valueParametersForAnnotationConstructor: ValueParametersForAnnotationConstructor?,
|
||||
valueParametersForAnnotationConstructor: ValueParametersForAnnotationConstructor,
|
||||
moduleData: FirModuleData,
|
||||
): FirJavaConstructor {
|
||||
return buildJavaConstructor {
|
||||
@@ -700,12 +688,11 @@ abstract class FirJavaFacade(
|
||||
this.moduleData = moduleData
|
||||
isFromSource = javaClass.isFromSource
|
||||
symbol = FirConstructorSymbol(constructorId)
|
||||
val visibility = if (classKind == ClassKind.ENUM_CLASS) Visibilities.Private else Visibilities.Public
|
||||
status = FirResolvedDeclarationStatusImpl(visibility, Modality.FINAL, EffectiveVisibility.Public)
|
||||
status = FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL, EffectiveVisibility.Public)
|
||||
returnTypeRef = buildResolvedTypeRef {
|
||||
type = ownerClassBuilder.buildSelfTypeRef()
|
||||
}
|
||||
valueParametersForAnnotationConstructor?.forEach { _, firValueParameter -> valueParameters += firValueParameter }
|
||||
valueParametersForAnnotationConstructor.forEach { _, firValueParameter -> valueParameters += firValueParameter }
|
||||
isInner = false
|
||||
isPrimary = true
|
||||
annotationBuilder = { emptyList() }
|
||||
|
||||
@@ -10,4 +10,4 @@ enum class MyEnum2() {}
|
||||
|
||||
class MyClass(): <!FINAL_SUPERTYPE, INVISIBLE_REFERENCE!>MyEnum2<!>() {}
|
||||
|
||||
class MyClass2(): <!FINAL_SUPERTYPE, INVISIBLE_REFERENCE!>MyJavaEnum<!>() {}
|
||||
class MyClass2(): <!FINAL_SUPERTYPE, UNRESOLVED_REFERENCE!>MyJavaEnum<!>() {}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB ENUM_CLASS name:JEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<@[FlexibleNullability] <root>.JEnum?>]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.JEnum
|
||||
CONSTRUCTOR IR_EXTERNAL_JAVA_DECLARATION_STUB visibility:private <> () returnType:<root>.JEnum [primary]
|
||||
ENUM_ENTRY IR_EXTERNAL_JAVA_DECLARATION_STUB name:ONE
|
||||
ENUM_ENTRY IR_EXTERNAL_JAVA_DECLARATION_STUB name:TWO
|
||||
ENUM_ENTRY IR_EXTERNAL_JAVA_DECLARATION_STUB name:THREE
|
||||
|
||||
-2
@@ -11,8 +11,6 @@ public final enum class AnnotatedEnumEntry : R|kotlin/Enum<test/AnnotatedEnumEnt
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/AnnotatedEnumEntry>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/AnnotatedEnumEntry>|
|
||||
|
||||
private constructor(): R|test/AnnotatedEnumEntry|
|
||||
|
||||
public final annotation class Anno : R|kotlin/Annotation| {
|
||||
public constructor(value: R|kotlin/String|): R|test/AnnotatedEnumEntry.Anno|
|
||||
|
||||
|
||||
@@ -14,8 +14,6 @@ public abstract interface CustomAnnotation : R|kotlin/Any| {
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/CustomAnnotation.MyEnum>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/CustomAnnotation.MyEnum>|
|
||||
|
||||
private constructor(): R|test/CustomAnnotation.MyEnum|
|
||||
|
||||
}
|
||||
@R|test/CustomAnnotation.MyAnnotation|(value = R|test/CustomAnnotation.MyEnum.ONE|) public open class MyTest : R|kotlin/Any| {
|
||||
public constructor(): R|test/CustomAnnotation.MyTest|
|
||||
|
||||
-2
@@ -14,8 +14,6 @@ public open class EnumArgumentWithCustomToString : R|kotlin/Any| {
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/EnumArgumentWithCustomToString.E>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/EnumArgumentWithCustomToString.E>|
|
||||
|
||||
private constructor(): R|test/EnumArgumentWithCustomToString.E|
|
||||
|
||||
}
|
||||
public final annotation class EnumAnno : R|kotlin/Annotation| {
|
||||
public constructor(value: R|test/EnumArgumentWithCustomToString.E|): R|test/EnumArgumentWithCustomToString.EnumAnno|
|
||||
|
||||
-2
@@ -18,7 +18,5 @@ public open class NestedEnumArgument : R|kotlin/Any| {
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/NestedEnumArgument.E>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/NestedEnumArgument.E>|
|
||||
|
||||
private constructor(): R|test/NestedEnumArgument.E|
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
-2
@@ -13,8 +13,6 @@ public final annotation class Api : R|kotlin/Annotation| {
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/Api.Status>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/Api.Status>|
|
||||
|
||||
private constructor(): R|test/Api.Status|
|
||||
|
||||
}
|
||||
}
|
||||
@R|test/Api|(status = R|test/Api.Status.Ok|) public open class NestedEnumInAnnotation : R|kotlin/Any| {
|
||||
|
||||
@@ -10,8 +10,6 @@ public final enum class EnumWithSpecializedEntry : R|kotlin/Enum<test/EnumWithSp
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/EnumWithSpecializedEntry>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/EnumWithSpecializedEntry>|
|
||||
|
||||
private constructor(): R|test/EnumWithSpecializedEntry|
|
||||
|
||||
public/*package*/ open class Nested : R|kotlin/Any| {
|
||||
public/*package*/ constructor(): R|test/EnumWithSpecializedEntry.Nested|
|
||||
|
||||
|
||||
@@ -10,6 +10,4 @@ public final enum class JavaEnum : R|kotlin/Enum<test/JavaEnum!>| {
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/JavaEnum>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/JavaEnum>|
|
||||
|
||||
private constructor(): R|test/JavaEnum|
|
||||
|
||||
}
|
||||
|
||||
@@ -11,8 +11,6 @@ public final enum class Enum : R|kotlin/Enum<test/Enum!>| {
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/Enum>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/Enum>|
|
||||
|
||||
private constructor(): R|test/Enum|
|
||||
|
||||
public open inner class Inner : R|kotlin/Any| {
|
||||
public/*package*/ open fun bar(): R|kotlin/Unit|
|
||||
|
||||
|
||||
@@ -19,6 +19,4 @@ public final enum class StaticMembersInEnum : R|kotlin/Enum<test/StaticMembersIn
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/StaticMembersInEnum>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/StaticMembersInEnum>|
|
||||
|
||||
private constructor(): R|test/StaticMembersInEnum|
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user