Kapt: Store line information in a file doc comment, instead of annotations (KT-21936)

This commit is contained in:
Yan Zhulanow
2017-12-25 23:51:10 +09:00
parent c66947ba40
commit df19162c8c
63 changed files with 857 additions and 1726 deletions
@@ -1,49 +1,57 @@
package error;
public final class NonExistentClass {
}
////////////////////
package kapt.internal;
public @interface KaptMetadata {
public java.lang.String value();
}
////////////////////
package kapt.internal;
public @interface KaptSignature {
public java.lang.String value();
}
////////////////////
/**
* @KaptMetadata
*/
package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface MyAnnotation {
}
////////////////////
/**
* @KaptMetadata
*/
package test;
import java.lang.System;
@kotlin.Metadata()
public enum EnumClass {
/*public static final*/ BLACK /* = new BLACK() */,
/*public static final*/ WHITE /* = new WHITE() */;
EnumClass() {
}
}
////////////////////
/**
* @KaptMetadata
*/
package test;
import java.lang.System;
/**
* * KDoc comment.
*/
@kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"})
@kotlin.Metadata()
@kapt.internal.KaptMetadata()
public final class Simple {
@MyAnnotation()
@kapt.internal.KaptSignature("myMethod()V")
public final void myMethod() {
}
@kapt.internal.KaptSignature("heavyMethod()I")
public final int heavyMethod() {
return 0;
}
@kapt.internal.KaptSignature("<init>()V")
public Simple() {
super();
}
@@ -51,42 +59,27 @@ public final class Simple {
////////////////////
/**
* @KaptMetadata
*/
package test;
@kotlin.Metadata()
@kapt.internal.KaptMetadata()
public enum EnumClass {
/*public static final*/ BLACK /* = new BLACK() */,
/*public static final*/ WHITE /* = new WHITE() */;
@kapt.internal.KaptSignature("<init>(Ljava/lang/String;I)V")
EnumClass() {
}
}
////////////////////
package test;
import java.lang.System;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kapt.internal.KaptMetadata()
public abstract @interface MyAnnotation {
}
////////////////////
package test;
@kotlin.Metadata()
@kapt.internal.KaptMetadata()
public enum EnumClass2 {
/*public static final*/ WHITE /* = new WHITE(null) */,
/*public static final*/ RED /* = new RED(null) */;
private final java.lang.String blah = null;
@kapt.internal.KaptSignature("<init>(Ljava/lang/String;ILjava/lang/String;)V")
EnumClass2(@org.jetbrains.annotations.NotNull()
java.lang.String blah) {
}
}
////////////////////
package error;
public final class NonExistentClass {
}