[KAPT] Correct error types in annotations (KT-32596)

This commit is contained in:
Steven Schäfer
2021-09-17 15:58:35 +02:00
committed by TeamCityServer
parent 701446ad25
commit 4f3debdec6
10 changed files with 112 additions and 16 deletions
@@ -0,0 +1,19 @@
// CORRECT_ERROR_TYPES
@file:Suppress("UNRESOLVED_REFERENCE", "ANNOTATION_ARGUMENT_MUST_BE_CONST")
import kotlin.reflect.KClass
@ABC
class ErrorMissingAnnotation
@ABC @CDE
class ErrorMultipleMissingAnnotations
@CDE @Anno(ABC::class) @ABC
class ErrorSomeMissingAnnotations
annotation class Anno(val klass: KClass<*>)
// EXPECTED_ERROR(kotlin:12:1) cannot find symbol
// EXPECTED_ERROR(kotlin:6:1) cannot find symbol
// EXPECTED_ERROR(kotlin:9:1) cannot find symbol
@@ -0,0 +1,53 @@
import kotlin.reflect.KClass;
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Anno {
public abstract java.lang.Class<?> klass();
}
////////////////////
import kotlin.reflect.KClass;
@kotlin.Metadata()
@ABC()
public final class ErrorMissingAnnotation {
public ErrorMissingAnnotation() {
super();
}
}
////////////////////
import kotlin.reflect.KClass;
@kotlin.Metadata()
@CDE()
@ABC()
public final class ErrorMultipleMissingAnnotations {
public ErrorMultipleMissingAnnotations() {
super();
}
}
////////////////////
import kotlin.reflect.KClass;
@kotlin.Metadata()
@ABC()
@Anno(klass = ABC.class)
@CDE()
public final class ErrorSomeMissingAnnotations {
public ErrorSomeMissingAnnotations() {
super();
}
}
@@ -2,7 +2,7 @@
// NON_EXISTENT_CLASS
// NO_VALIDATION
@Suppress("UNRESOLVED_REFERENCE")
@Suppress("CANNOT_INFER_PARAMETER_TYPE", "UNRESOLVED_REFERENCE")
object NonExistentType {
val a: ABCDEF? = null
val b: List<ABCDEF>? = null
@@ -1,6 +1,6 @@
import java.lang.System;
@kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"})
@kotlin.Suppress(names = {"CANNOT_INFER_PARAMETER_TYPE", "UNRESOLVED_REFERENCE"})
@kotlin.Metadata()
public final class NonExistentType {
@org.jetbrains.annotations.NotNull()
@@ -1,7 +1,7 @@
// NON_EXISTENT_CLASS
// NO_VALIDATION
@file:Suppress("UNRESOLVED_REFERENCE")
@file:Suppress("CANNOT_INFER_PARAMETER_TYPE", "UNRESOLVED_REFERENCE")
typealias String2 = String
typealias Coocoo = ABC
@@ -1,6 +1,6 @@
import java.lang.System;
@kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"})
@kotlin.Suppress(names = {"CANNOT_INFER_PARAMETER_TYPE", "UNRESOLVED_REFERENCE"})
@kotlin.Metadata()
public final class NonExistentClassWIthoutCorrectionKt {
}