From fe83786a46265c0b0893d1c8db8fab5c63f763c9 Mon Sep 17 00:00:00 2001 From: Janne Mareike Koschinski <janne@kuschku.de> Date: Mon, 22 Feb 2021 21:56:01 +0100 Subject: [PATCH] Ensure all generated code is properly marked as generated --- .../libquassel/annotations/Generated.kt | 18 +++++++++++++++++- .../generator/visitors/RpcModelProcessor.kt | 12 +++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/libquassel-annotations/src/main/kotlin/de/justjanne/libquassel/annotations/Generated.kt b/libquassel-annotations/src/main/kotlin/de/justjanne/libquassel/annotations/Generated.kt index dabaf3e..e5b05dd 100644 --- a/libquassel-annotations/src/main/kotlin/de/justjanne/libquassel/annotations/Generated.kt +++ b/libquassel-annotations/src/main/kotlin/de/justjanne/libquassel/annotations/Generated.kt @@ -13,5 +13,21 @@ package de.justjanne.libquassel.annotations /** * Used to mark inline functions as generated for jacoco */ -@Retention(AnnotationRetention.SOURCE) +@Retention(AnnotationRetention.RUNTIME) +@Target( + AnnotationTarget.CLASS, + AnnotationTarget.ANNOTATION_CLASS, + AnnotationTarget.TYPE_PARAMETER, + AnnotationTarget.PROPERTY, + AnnotationTarget.FIELD, + AnnotationTarget.LOCAL_VARIABLE, + AnnotationTarget.VALUE_PARAMETER, + AnnotationTarget.CONSTRUCTOR, + AnnotationTarget.FUNCTION, + AnnotationTarget.PROPERTY_GETTER, + AnnotationTarget.PROPERTY_SETTER, + AnnotationTarget.TYPE, + AnnotationTarget.FILE, + AnnotationTarget.TYPEALIAS, +) annotation class Generated diff --git a/libquassel-generator/src/main/kotlin/de/justjanne/libquassel/generator/visitors/RpcModelProcessor.kt b/libquassel-generator/src/main/kotlin/de/justjanne/libquassel/generator/visitors/RpcModelProcessor.kt index 5c99df9..0567b96 100644 --- a/libquassel-generator/src/main/kotlin/de/justjanne/libquassel/generator/visitors/RpcModelProcessor.kt +++ b/libquassel-generator/src/main/kotlin/de/justjanne/libquassel/generator/visitors/RpcModelProcessor.kt @@ -42,19 +42,25 @@ class RpcModelProcessor : RpcModelVisitor<ProtocolSide, KotlinModel?> { TYPENAME_QVARIANT_INTOORTHROW.packageName, TYPENAME_QVARIANT_INTOORTHROW.simpleName ) + .addAnnotation(TYPENAME_GENERATED) .addType( TypeSpec.objectBuilder(name.simpleName) .addSuperinterface(TYPENAME_INVOKER.parameterizedBy(model.name)) + .addAnnotation(TYPENAME_GENERATED) .addProperty( PropertySpec.builder( "className", String::class.asTypeName(), KModifier.OVERRIDE - ).initializer("\"${model.rpcName}\"").build() + ) + .initializer("\"${model.rpcName}\"") + .addAnnotation(TYPENAME_GENERATED) + .build() ) .addFunction( FunSpec.builder("invoke") .addModifiers(KModifier.OVERRIDE, KModifier.OPERATOR) + .addAnnotation(TYPENAME_GENERATED) .addParameter( ParameterSpec.builder( "on", @@ -144,6 +150,10 @@ class RpcModelProcessor : RpcModelVisitor<ProtocolSide, KotlinModel?> { "de.justjanne.libquassel.protocol.variant", "intoOrThrow" ) + private val TYPENAME_GENERATED = ClassName( + "de.justjanne.libquassel.annotations", + "Generated" + ) private val TYPENAME_ANY = ANY.copy(nullable = true) init { -- GitLab