KAPT: Preserve the order of annotations in the stubs

Previously the annotations were included in reverse order. With this
change they are kept in the same order as in the source file.

This changes the test case for KT-23427 but that issue seems to relate
to annotation arguments that are missing, not the order of repeatable
annotations.

This fixes KT-51087
This commit is contained in:
Nicklas Ansman Giertz
2022-09-16 16:32:31 -04:00
committed by Alexander Udalov
parent 6f5ffeb6bb
commit dd051c1556
72 changed files with 355 additions and 310 deletions
@@ -9,19 +9,8 @@ package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Anno {
}
////////////////////
package test;
import java.lang.System;
@kotlin.Metadata()
@Anno()
@kotlin.Metadata()
public final class User {
@org.jetbrains.annotations.NotNull()
private final java.lang.String name = "John";
@@ -40,3 +29,14 @@ public final class User {
return null;
}
}
////////////////////
package test;
import java.lang.System;
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface Anno {
}
@@ -9,19 +9,8 @@ package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Anno {
}
////////////////////
package test;
import java.lang.System;
@kotlin.Metadata()
@Anno()
@kotlin.Metadata()
public final class User {
@org.jetbrains.annotations.NotNull()
private final java.lang.String name = "John";
@@ -40,3 +29,14 @@ public final class User {
super();
}
}
////////////////////
package test;
import java.lang.System;
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface Anno {
}
@@ -1,7 +1,7 @@
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface MyAnnotation {
}
@@ -9,8 +9,8 @@ package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface MyAnnotation {
}
@@ -9,8 +9,8 @@ package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface MyAnnotation {
}
@@ -9,19 +9,8 @@ package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface MyAnnotation {
}
////////////////////
package test;
import java.lang.System;
@kotlin.Metadata()
@MyAnnotation()
@kotlin.Metadata()
public final class State {
private final int someInt = 0;
private final long someLong = 0L;
@@ -52,3 +41,14 @@ public final class State {
return null;
}
}
////////////////////
package test;
import java.lang.System;
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface MyAnnotation {
}
@@ -9,19 +9,8 @@ package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface MyAnnotation {
}
////////////////////
package test;
import java.lang.System;
@kotlin.Metadata()
@MyAnnotation()
@kotlin.Metadata()
public final class State {
private final int someInt = 0;
private final long someLong = 0L;
@@ -52,3 +41,14 @@ public final class State {
super();
}
}
////////////////////
package test;
import java.lang.System;
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface MyAnnotation {
}
@@ -12,8 +12,8 @@ import java.lang.System;
/**
* KDoc comment.
*/
@kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"})
@kotlin.Metadata()
@kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"})
public final class Simple {
public Simple() {
@@ -35,8 +35,8 @@ package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface MyAnnotation {
}
@@ -12,8 +12,8 @@ import java.lang.System;
/**
* KDoc comment.
*/
@kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"})
@kotlin.Metadata()
@kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"})
public final class Simple {
public Simple() {
@@ -35,8 +35,8 @@ package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.Metadata()
public abstract @interface MyAnnotation {
}