Files
kotlin-fork/plugins/kapt3/kapt3-compiler/testData/converter/repeatableAnnotations.txt
T
Hung Nguyen 4bf63a9539 Sort class members to ensure deterministic builds
Class methods and fields are currently sorted at serialization (see
DescriptorSerializer.sort) and at deserialization (see
DeserializedMemberScope.OptimizedImplementation#addMembers). Therefore,
the contents of the generated stub files are sorted in incremental
builds but not in clean builds.

The consequence is that the contents of the generated stub files may not
be consistent across a clean build and an incremental build, making the
build non-deterministic and dependent tasks run unnecessarily (see
KT-40882).

To work around that, this commit sorts class methods and fields when
outputting stub files.

Bug: KT-40882 (there are actually 2 issues in here; this commit fixes
     the first one)
Test: New DeterministicBuildIT + Updated existing test expectation files
2020-11-25 20:51:09 +03:00

258 lines
4.7 KiB
Plaintext
Vendored

import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoArray {
public abstract java.lang.String[] a();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoBoolean {
public abstract boolean bool();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoChar {
public abstract char chr();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoClass {
public abstract java.lang.Class<Color> c();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoDouble {
public abstract double dbl();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoEnum {
public abstract Color c();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoFloat {
public abstract float flt();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoInt {
public abstract int i();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoIntArray {
public abstract int[] b();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoLong {
public abstract long l();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoLongArray {
public abstract long[] b();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface AnnoString {
public abstract java.lang.String s();
public abstract int x();
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
public enum Color {
/*public static final*/ BLACK /* = new Color() */;
Color() {
}
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
public final class Test {
@org.jetbrains.annotations.NotNull()
private final java.lang.String value = "";
public Test() {
super();
}
@org.jetbrains.annotations.NotNull()
public final java.lang.String getValue() {
return null;
}
@lib.Anno(value = "3", construct = {"C"})
@lib.Anno(value = "2", construct = {"A", "B"})
@lib.Anno(value = "1")
@java.lang.Deprecated()
public static void getValue$annotations() {
}
}
////////////////////
import java.lang.System;
@kotlin.Metadata()
@AnnoClass(x = lib.R.id.textView, c = Color.class)
@AnnoArray(x = lib.R.id.textView, a = {"A", "B"})
@AnnoLongArray(x = lib.R.id.textView, b = {1L, 3L})
@AnnoIntArray(x = lib.R.id.textView, b = {1, 2, 3})
@AnnoString(x = lib.R.id.textView, s = "AAA")
@AnnoDouble(x = lib.R.id.textView, dbl = 4.0)
@AnnoFloat(x = lib.R.id.textView, flt = 1.0F)
@AnnoInt(x = lib.R.id.textView, i = 5)
@AnnoBoolean(x = lib.R.id.textView, bool = false)
@AnnoChar(x = lib.R.id.textView, chr = 'c')
public final class Test2 {
public Test2() {
super();
}
}
////////////////////
package lib;
public @interface Anno {
String[] construct() default {};
String value();
}
////////////////////
package lib;
public class R {
public R() {
super();
}
public static class id {
public id() {
super();
}
public static final int textView = 100;
}
}