Skip to content

Commit f4fb39e

Browse files
toon.willemotJorenHannes
authored andcommitted
Update Kotlin dependencies
Summary: Updates the dependencies on Kotlin in order to support reading & writing of Kotlin 2.2 metadata. Handles some small deprecations as well: - `kmClass.getEnumEntries()` --> `kmClass.getKmEnumEntries()` - `hasAnnotations` flag is deprecated
1 parent 26e9da0 commit f4fb39e

13 files changed

+36
-55
lines changed

base/src/main/java/proguard/classfile/kotlin/KotlinPropertyMetadata.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,13 @@ public class KotlinPropertyMetadata extends SimpleProcessable {
3434

3535
public List<KotlinTypeMetadata> contextReceivers;
3636

37-
public List<KotlinValueParameterMetadata> setterParameters;
37+
/**
38+
* @deprecated Use {@link KotlinPropertyMetadata#setterParameter } instead. There can only be one
39+
* setter parameter but this old API used a list.
40+
*/
41+
@Deprecated public List<KotlinValueParameterMetadata> setterParameters;
42+
43+
public KotlinValueParameterMetadata setterParameter;
3844

3945
public KotlinTypeMetadata type;
4046

@@ -124,17 +130,23 @@ public void contextReceiverTypesAccept(
124130
}
125131
}
126132

133+
/**
134+
* @deprecated Use {@link #setterParameterAccept(Clazz, KotlinDeclarationContainerMetadata,
135+
* KotlinValueParameterVisitor)} instead.
136+
*/
137+
@Deprecated
127138
public void setterParametersAccept(
128139
Clazz clazz,
129140
KotlinDeclarationContainerMetadata kotlinDeclarationContainerMetadata,
130141
KotlinValueParameterVisitor kotlinValueParameterVisitor) {
131-
if (setterParameters == null) {
132-
throw new ProguardCoreException.Builder(
133-
"Setter parameters are null in class %s.", ErrorId.CLASSFILE_NULL_VALUES)
134-
.errorParameters(clazz.getName())
135-
.build();
136-
}
137-
for (KotlinValueParameterMetadata setterParameter : setterParameters) {
142+
setterParameterAccept(clazz, kotlinDeclarationContainerMetadata, kotlinValueParameterVisitor);
143+
}
144+
145+
public void setterParameterAccept(
146+
Clazz clazz,
147+
KotlinDeclarationContainerMetadata kotlinDeclarationContainerMetadata,
148+
KotlinValueParameterVisitor kotlinValueParameterVisitor) {
149+
if (setterParameter != null) {
138150
setterParameter.accept(
139151
clazz, kotlinDeclarationContainerMetadata, this, kotlinValueParameterVisitor);
140152
}

base/src/main/java/proguard/classfile/kotlin/flags/KotlinClassFlags.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class KotlinClassFlags implements KotlinFlags {
2828
public final KotlinVisibilityFlags visibility;
2929
public final KotlinModalityFlags modality;
3030

31-
public boolean hasAnnotations;
31+
@Deprecated public boolean hasAnnotations;
3232

3333
/** A class kind flag, signifying that the corresponding class is a usual `class`. */
3434
public boolean isUsualClass;

base/src/main/java/proguard/classfile/kotlin/flags/KotlinCommonFlags.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

base/src/main/java/proguard/classfile/kotlin/flags/KotlinConstructorFlags.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class KotlinConstructorFlags implements KotlinFlags {
2727

2828
public final KotlinVisibilityFlags visibility;
2929

30-
public boolean hasAnnotations;
30+
@Deprecated public boolean hasAnnotations;
3131

3232
/**
3333
* Signifies that the corresponding constructor is secondary, i.e. declared not in the class

base/src/main/java/proguard/classfile/kotlin/flags/KotlinFunctionFlags.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class KotlinFunctionFlags implements KotlinFlags {
2828
public final KotlinVisibilityFlags visibility;
2929
public final KotlinModalityFlags modality;
3030

31-
public boolean hasAnnotations;
31+
@Deprecated public boolean hasAnnotations;
3232

3333
/**
3434
* A member kind flag, signifying that the corresponding function is explicitly declared in the

base/src/main/java/proguard/classfile/kotlin/flags/KotlinPropertyAccessorFlags.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class KotlinPropertyAccessorFlags implements KotlinFlags {
2828
public KotlinVisibilityFlags visibility;
2929
public KotlinModalityFlags modality;
3030

31-
public boolean hasAnnotations;
31+
@Deprecated public boolean hasAnnotations;
3232

3333
/**
3434
* Signifies that the corresponding property is not default, i.e. it has a body and/or annotations

base/src/main/java/proguard/classfile/kotlin/flags/KotlinPropertyFlags.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class KotlinPropertyFlags implements KotlinFlags {
2828
public final KotlinVisibilityFlags visibility;
2929
public final KotlinModalityFlags modality;
3030

31-
public boolean hasAnnotations;
31+
@Deprecated public boolean hasAnnotations;
3232

3333
/**
3434
* A member kind flag, signifying that the corresponding property is explicitly declared in the

base/src/main/java/proguard/classfile/kotlin/flags/KotlinTypeAliasFlags.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
public class KotlinTypeAliasFlags implements KotlinFlags {
2121
public final KotlinVisibilityFlags visibility;
2222

23-
public boolean hasAnnotations;
23+
@Deprecated public boolean hasAnnotations;
2424

2525
public KotlinTypeAliasFlags(KotlinVisibilityFlags visibility) {
2626
this.visibility = visibility;

base/src/main/java/proguard/classfile/kotlin/flags/KotlinValueParameterFlags.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
*/
2727
public class KotlinValueParameterFlags implements KotlinFlags {
2828

29-
public boolean hasAnnotations;
29+
@Deprecated public boolean hasAnnotations;
3030

3131
/**
3232
* Signifies that the corresponding value parameter declares a default value. Note that the

base/src/main/java/proguard/classfile/kotlin/visitor/KotlinMetadataPrinter.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1106,8 +1106,4 @@ private String valueParameterFlags(KotlinValueParameterFlags flags) {
11061106
+ (flags.isNoInline ? "noinline " : "")
11071107
+ (flags.hasDefaultValue ? "hasDefault " : "");
11081108
}
1109-
1110-
private String hasAnnotationsFlag(KotlinCommonFlags flags) {
1111-
return flags.hasAnnotations ? "@" : "";
1112-
}
11131109
}

0 commit comments

Comments
 (0)