From 6a06775bc42983cee91588b5bf515b768526237a Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Fri, 5 Aug 2022 18:57:50 +0600 Subject: [PATCH] add file annotations generation to the class casts --- .../src/main/kotlin/TelegramBotAPISymbolProcessor.kt | 12 ++++++++++++ .../inmo/tgbotapi/extensions/utils/ClassCastsNew.kt | 10 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/tgbotapi.ksp/processor/src/main/kotlin/TelegramBotAPISymbolProcessor.kt b/tgbotapi.ksp/processor/src/main/kotlin/TelegramBotAPISymbolProcessor.kt index 9583317566..7fdf0f635c 100644 --- a/tgbotapi.ksp/processor/src/main/kotlin/TelegramBotAPISymbolProcessor.kt +++ b/tgbotapi.ksp/processor/src/main/kotlin/TelegramBotAPISymbolProcessor.kt @@ -4,6 +4,7 @@ import com.google.devtools.ksp.getAllSuperTypes import com.google.devtools.ksp.processing.* import com.google.devtools.ksp.symbol.KSAnnotated import com.google.devtools.ksp.symbol.KSClassDeclaration +import com.squareup.kotlinpoet.AnnotationSpec import com.squareup.kotlinpoet.FileSpec import com.squareup.kotlinpoet.ksp.writeTo import dev.inmo.tgbotapi.ksp.lib.ClassCastsIncluded @@ -43,6 +44,17 @@ class TelegramBotAPISymbolProcessor( targetPackage, outputFile ).apply { + addAnnotation( + AnnotationSpec.builder(Suppress::class).apply { + addMember("\"unused\"") + addMember("\"RemoveRedundantQualifierName\"") + addMember("\"RedundantVisibilityModifier\"") + addMember("\"NOTHING_TO_INLINE\"") + addMember("\"UNCHECKED_CAST\"") + addMember("\"OPT_IN_USAGE\"") + useSiteTarget(AnnotationSpec.UseSiteTarget.FILE) + }.build() + ) classes.forEach { fill( it, diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt index 9547763e56..c7c17929cb 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt @@ -1,3 +1,12 @@ +@file:Suppress( + "unused", + "RemoveRedundantQualifierName", + "RedundantVisibilityModifier", + "NOTHING_TO_INLINE", + "UNCHECKED_CAST", + "OPT_IN_USAGE", +) + package dev.inmo.tgbotapi.extensions.utils import dev.inmo.tgbotapi.abstracts.CommonSendInvoiceData @@ -410,6 +419,7 @@ import dev.inmo.tgbotapi.types.update.media_group.EditMessageMediaGroupUpdate import dev.inmo.tgbotapi.types.update.media_group.MediaGroupUpdate import dev.inmo.tgbotapi.types.update.media_group.MessageMediaGroupUpdate import dev.inmo.tgbotapi.types.update.media_group.SentMediaGroupUpdate +import kotlin.Suppress public inline fun CommonSendInvoiceData.createInvoiceLinkOrNull(): CreateInvoiceLink? = this as? dev.inmo.tgbotapi.requests.send.payments.CreateInvoiceLink