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 dabaf3e49b4f1bc02ca579dee84546d700aa9a6e..e5b05dd939b1e76ce5c2ed7e7af3016e75e43181 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 5c99df9ce5e74e340decaf5aaa8bf0f046198cb6..0567b963dfc24f15acfb1ee5cc6f8905c5b1ec5f 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 {