From 94a81052c2599d5c3bb81c588ad75eb6f3cfd18b Mon Sep 17 00:00:00 2001 From: Michael Rittmeister Date: Sun, 19 Mar 2023 20:56:47 +0100 Subject: [PATCH] FIx generation for Serializable types with uncommon names --- .../META-INF/native-image/reflect-config.json | 2 +- .../META-INF/native-image/reflect-config.json | 2 +- .../src/main/kotlin/dev/kord/core/Main.kt | 4 ++- ksp-processors/src/main/kotlin/KSPUtils.kt | 11 +++++++ .../main/kotlin/graal/KordGraalProcessor.kt | 33 +++++++++++++++---- .../META-INF/native-image/reflect-config.json | 2 +- 6 files changed, 43 insertions(+), 11 deletions(-) diff --git a/common/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json b/common/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json index 7b73f8c658a3..790c0697f3f0 100644 --- a/common/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json +++ b/common/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json @@ -1 +1 @@ -[{"name":"dev.kord.common.Color","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.Color$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.DiscordBitSet","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.DiscordBitSet$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.Locale","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.Locale$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAuditLog","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAuditLog$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAuditLogEntry","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAuditLogEntry$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AuditLogEntryOptionalInfo","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AuditLogEntryOptionalInfo$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AuditLogChange","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AuditLogChange$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AuditLogChangeKey","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AuditLogChangeKey$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoModerationRule","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoModerationRule$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoModerationRuleTriggerMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoModerationRuleTriggerMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoModerationAction","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoModerationAction$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoModerationActionMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoModerationActionMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPinsUpdateData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPinsUpdateData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTyping","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTyping$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordBotActivity","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordBotActivity$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivity","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivity$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ActivityFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ActivityFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityTimestamps","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityTimestamps$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityParty","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityParty$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityPartySize","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityPartySize$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityAssets","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityAssets$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivitySecrets","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivitySecrets$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ActivityType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ActivityType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordApplication","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordApplication$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialApplication","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialApplication$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InstallParams","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InstallParams$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordChannel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordChannel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Overwrite","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Overwrite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordThreadMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordThreadMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ArchiveDuration","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ArchiveDuration$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordComponent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordComponent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordChatComponent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordChatComponent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTextInputComponent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTextInputComponent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordConnection","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordConnection$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordUpdatedEmojis","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordUpdatedEmojis$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordUnavailableGuild","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordUnavailableGuild$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuild","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuild$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialGuild","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialGuild$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.SystemChannelFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.SystemChannelFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildBan","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildBan$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildIntegrations","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildIntegrations$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildIntegrationsDeleted","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildIntegrationsDeleted$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordIntegrationAccount","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordIntegrationAccount$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordVoiceServerUpdateData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordVoiceServerUpdateData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordWebhooksUpdateData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordWebhooksUpdateData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordVoiceState","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordVoiceState$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordVoiceRegion","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordVoiceRegion$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordWelcomeScreenChannel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordWelcomeScreenChannel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordWelcomeScreen","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordWelcomeScreen$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildPreview","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildPreview$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildScheduledEvent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildScheduledEvent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildScheduledEventEntityMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildScheduledEventEntityMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildWidget","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildWidget$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordIntegration","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordIntegration$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialIntegration","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialIntegration$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.IntegrationApplication","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.IntegrationApplication$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordIntegrationsAccount","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordIntegrationsAccount$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordInvite","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordInvite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordInviteWithMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordInviteWithMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialInvite","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialInvite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMessage","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMessage$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMessageSticker","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMessageSticker$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordStickerPack","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordStickerPack$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordStickerItem","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordStickerItem$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialMessage","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialMessage$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMessageReference","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMessageReference$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMentionedChannel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMentionedChannel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAttachment","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAttachment$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed.Footer","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed.Footer$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed.Image","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed.Image$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed.Thumbnail","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed.Thumbnail$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed.Video","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed.Video$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed.Provider","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed.Provider$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed.Author","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed.Author$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed.Field","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed.Field$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Reaction","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Reaction$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageActivity","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageActivity$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageApplication","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageApplication$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DeletedMessage","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DeletedMessage$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.BulkDeleteData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.BulkDeleteData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageReactionAddData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageReactionAddData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageReactionRemoveData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageReactionRemoveData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AllRemovedMessageReactions","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AllRemovedMessageReactions$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AllowedMentions","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AllowedMentions$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMessageInteraction","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMessageInteraction$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.RoleSubscription","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.RoleSubscription$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordNull","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordNull$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordRole","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordRole$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordRoleTags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordRoleTags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialRole","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialRole$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAuditLogRoleChange","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAuditLogRoleChange$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildRole","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildRole$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordDeletedGuildRole","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordDeletedGuildRole$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordSelectOption","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordSelectOption$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordShard","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordShard$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordStageInstance","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordStageInstance$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTemplate","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTemplate$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordUser","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordUser$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordOptionallyMemberUser","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordOptionallyMemberUser$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.UserFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.UserFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordWebhook","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordWebhook$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordApplicationCommand","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordApplicationCommand$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationCommandOption","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationCommandOption$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Choice","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Choice$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ResolvedObjects","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ResolvedObjects$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordInteraction","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordInteraction$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InteractionCallbackData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InteractionCallbackData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Option","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Option$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.SubCommand","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.SubCommand$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.CommandArgument","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.CommandArgument$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermissions","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermissions$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermission","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermission$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermission.Type","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermission.Type$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoComplete","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoComplete$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordModal","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordModal$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordInteractionGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordInteractionGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAddedGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAddedGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordRemovedGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordRemovedGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordUpdatedGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordUpdatedGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordThreadMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordThreadMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildMemberFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildMemberFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildMemberFlag","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildMemberFlag$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Permissions","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Permissions$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPresenceUpdate","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPresenceUpdate$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPresenceUser","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPresenceUser$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordClientStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordClientStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Snowflake","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Snowflake$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTeam","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTeam$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTeamMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTeamMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.Optional","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.Optional$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.OptionalBoolean","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.OptionalBoolean$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.OptionalInt","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.OptionalInt$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.OptionalLong","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.OptionalLong$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.OptionalSnowflake","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.OptionalSnowflake$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AllowedMentionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AllowedMentionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationCommandOptionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationCommandOptionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationCommandPermissionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationCommandPermissionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationCommandType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationCommandType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AuditLogEvent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AuditLogEvent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AutoModerationActionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AutoModerationActionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AutoModerationRuleEventType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AutoModerationRuleEventType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AutoModerationRuleKeywordPresetType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AutoModerationRuleKeywordPresetType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AutoModerationRuleTriggerType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AutoModerationRuleTriggerType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ButtonStyle","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ButtonStyle$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ChannelType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ChannelType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ComponentType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ComponentType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DefaultMessageNotificationLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DefaultMessageNotificationLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordConnectionVisibility","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordConnectionVisibility$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.EmbedType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.EmbedType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ExplicitContentFilter","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ExplicitContentFilter$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildFeature","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildFeature$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildScheduledEventPrivacyLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildScheduledEventPrivacyLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildScheduledEventStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildScheduledEventStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.IntegrationExpireBehavior","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.IntegrationExpireBehavior$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InteractionResponseType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InteractionResponseType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InteractionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InteractionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InviteTargetType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InviteTargetType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageActivityType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageActivityType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageStickerType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageStickerType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MFALevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MFALevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.NsfwLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.NsfwLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.OverwriteType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.OverwriteType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.PremiumTier","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.PremiumTier$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.PresenceStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.PresenceStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ScheduledEntityType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ScheduledEntityType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.StageInstancePrivacyLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.StageInstancePrivacyLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.TeamMembershipState","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.TeamMembershipState$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.TextInputStyle","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.TextInputStyle$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.UserPremium","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.UserPremium$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.VerificationLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.VerificationLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.VideoQualityMode","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.VideoQualityMode$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.WebhookType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.WebhookType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]}] \ No newline at end of file +[{"name":"dev.kord.common.Color","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.Color$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.DiscordBitSet","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.DiscordBitSet$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.Locale","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.Locale$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAuditLog","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAuditLog$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAuditLogEntry","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAuditLogEntry$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AuditLogEntryOptionalInfo","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AuditLogEntryOptionalInfo$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AuditLogChange","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AuditLogChange$Companion","methods":[{"name":"serializer","parameterTypes":["kotlinx.serialization.KSerializer"]}]},{"name":"dev.kord.common.entity.AuditLogChangeKey","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AuditLogChangeKey$Companion","methods":[{"name":"serializer","parameterTypes":["kotlinx.serialization.KSerializer"]}]},{"name":"dev.kord.common.entity.DiscordAutoModerationRule","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoModerationRule$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoModerationRuleTriggerMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoModerationRuleTriggerMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoModerationAction","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoModerationAction$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoModerationActionMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoModerationActionMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPinsUpdateData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPinsUpdateData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTyping","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTyping$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordBotActivity","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordBotActivity$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivity","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivity$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ActivityFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ActivityFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityTimestamps","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityTimestamps$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityParty","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityParty$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityPartySize","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityPartySize$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivityAssets","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivityAssets$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordActivitySecrets","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordActivitySecrets$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ActivityType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ActivityType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordApplication","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordApplication$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialApplication","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialApplication$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InstallParams","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InstallParams$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordChannel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordChannel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Overwrite","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Overwrite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordThreadMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordThreadMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ArchiveDuration","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ArchiveDuration$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordComponent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordComponent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordChatComponent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordChatComponent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTextInputComponent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTextInputComponent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordConnection","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordConnection$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordUpdatedEmojis","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordUpdatedEmojis$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordUnavailableGuild","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordUnavailableGuild$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuild","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuild$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialGuild","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialGuild$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.SystemChannelFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.SystemChannelFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildBan","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildBan$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildIntegrations","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildIntegrations$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildIntegrationsDeleted","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildIntegrationsDeleted$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordIntegrationAccount","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordIntegrationAccount$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordVoiceServerUpdateData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordVoiceServerUpdateData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordWebhooksUpdateData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordWebhooksUpdateData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordVoiceState","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordVoiceState$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordVoiceRegion","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordVoiceRegion$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordWelcomeScreenChannel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordWelcomeScreenChannel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordWelcomeScreen","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordWelcomeScreen$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildPreview","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildPreview$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildScheduledEvent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildScheduledEvent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildScheduledEventEntityMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildScheduledEventEntityMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildWidget","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildWidget$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordIntegration","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordIntegration$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialIntegration","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialIntegration$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.IntegrationApplication","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.IntegrationApplication$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordIntegrationsAccount","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordIntegrationsAccount$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordInvite","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordInvite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordInviteWithMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordInviteWithMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialInvite","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialInvite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMessage","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMessage$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMessageSticker","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMessageSticker$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordStickerPack","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordStickerPack$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordStickerItem","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordStickerItem$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialMessage","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialMessage$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMessageReference","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMessageReference$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMentionedChannel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMentionedChannel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAttachment","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAttachment$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed$Footer","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Footer$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed$Image","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Image$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed$Thumbnail","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Thumbnail$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed$Video","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Video$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed$Provider","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Provider$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed$Author","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Author$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordEmbed$Field","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordEmbed$Field$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Reaction","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Reaction$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageActivity","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageActivity$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageApplication","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageApplication$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DeletedMessage","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DeletedMessage$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.BulkDeleteData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.BulkDeleteData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageReactionAddData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageReactionAddData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageReactionRemoveData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageReactionRemoveData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AllRemovedMessageReactions","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AllRemovedMessageReactions$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AllowedMentions","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AllowedMentions$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordMessageInteraction","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordMessageInteraction$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.RoleSubscription","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.RoleSubscription$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordNull","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordNull$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordRole","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordRole$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordRoleTags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordRoleTags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPartialRole","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPartialRole$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAuditLogRoleChange","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAuditLogRoleChange$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildRole","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildRole$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordDeletedGuildRole","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordDeletedGuildRole$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordSelectOption","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordSelectOption$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordShard","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordShard$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordStageInstance","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordStageInstance$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTemplate","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTemplate$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordUser","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordUser$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordOptionallyMemberUser","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordOptionallyMemberUser$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.UserFlags","fields":[{"name":"UserFlagsSerializer"}]},{"name":"dev.kord.common.entity.UserFlags$UserFlagsSerializer","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordWebhook","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordWebhook$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordApplicationCommand","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordApplicationCommand$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationCommandOption","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationCommandOption$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Choice","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Choice$Companion","methods":[{"name":"serializer","parameterTypes":["kotlinx.serialization.KSerializer"]}]},{"name":"dev.kord.common.entity.ResolvedObjects","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ResolvedObjects$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordInteraction","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordInteraction$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InteractionCallbackData","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InteractionCallbackData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Option","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Option$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.SubCommand","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.SubCommand$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.CommandArgument","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.CommandArgument$Companion","methods":[{"name":"serializer","parameterTypes":["kotlinx.serialization.KSerializer"]}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermissions","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermissions$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermission","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermission$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermission$Type","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildApplicationCommandPermission$Type$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAutoComplete","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAutoComplete$Companion","methods":[{"name":"serializer","parameterTypes":["kotlinx.serialization.KSerializer"]}]},{"name":"dev.kord.common.entity.DiscordModal","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordModal$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordInteractionGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordInteractionGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordAddedGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordAddedGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordRemovedGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordRemovedGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordUpdatedGuildMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordUpdatedGuildMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordThreadMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordThreadMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildMemberFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildMemberFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildMemberFlag","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildMemberFlag$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Permissions","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Permissions$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPresenceUpdate","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPresenceUpdate$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordPresenceUser","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordPresenceUser$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordClientStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordClientStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.Snowflake","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.Snowflake$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTeam","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTeam$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordTeamMember","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordTeamMember$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.Optional","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.Optional$Companion","methods":[{"name":"serializer","parameterTypes":["kotlinx.serialization.KSerializer"]}]},{"name":"dev.kord.common.entity.optional.OptionalBoolean","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.OptionalBoolean$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.OptionalInt","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.OptionalInt$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.OptionalLong","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.OptionalLong$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.optional.OptionalSnowflake","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.optional.OptionalSnowflake$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AllowedMentionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AllowedMentionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationCommandOptionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationCommandOptionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationCommandPermissionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationCommandPermissionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ApplicationCommandType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ApplicationCommandType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AuditLogEvent","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AuditLogEvent$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AutoModerationActionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AutoModerationActionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AutoModerationRuleEventType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AutoModerationRuleEventType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AutoModerationRuleKeywordPresetType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AutoModerationRuleKeywordPresetType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.AutoModerationRuleTriggerType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.AutoModerationRuleTriggerType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ButtonStyle","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ButtonStyle$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ChannelType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ChannelType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ComponentType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ComponentType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DefaultMessageNotificationLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DefaultMessageNotificationLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.DiscordConnectionVisibility","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.DiscordConnectionVisibility$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.EmbedType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.EmbedType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ExplicitContentFilter","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ExplicitContentFilter$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildFeature","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildFeature$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildScheduledEventPrivacyLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildScheduledEventPrivacyLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.GuildScheduledEventStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.GuildScheduledEventStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.IntegrationExpireBehavior","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.IntegrationExpireBehavior$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InteractionResponseType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InteractionResponseType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InteractionType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InteractionType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.InviteTargetType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.InviteTargetType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageActivityType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageActivityType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageStickerType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageStickerType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MessageType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MessageType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.MFALevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.MFALevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.NsfwLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.NsfwLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.OverwriteType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.OverwriteType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.PremiumTier","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.PremiumTier$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.PresenceStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.PresenceStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.ScheduledEntityType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.ScheduledEntityType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.StageInstancePrivacyLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.StageInstancePrivacyLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.TeamMembershipState","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.TeamMembershipState$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.TextInputStyle","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.TextInputStyle$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.UserPremium","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.UserPremium$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.VerificationLevel","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.VerificationLevel$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.VideoQualityMode","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.VideoQualityMode$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.common.entity.WebhookType","fields":[{"name":"Companion"}]},{"name":"dev.kord.common.entity.WebhookType$Companion","methods":[{"name":"serializer","parameterTypes":[]}]}] \ No newline at end of file diff --git a/gateway/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json b/gateway/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json index f5200695e158..57ebb71a9924 100644 --- a/gateway/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json +++ b/gateway/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json @@ -1 +1 @@ -[{"name":"dev.kord.gateway.Identify","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Identify$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.IdentifyProperties","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.IdentifyProperties$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.GuildMembersChunkData","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.GuildMembersChunkData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordPresence","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordPresence$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Resume","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Resume$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.RequestGuildMembers","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.RequestGuildMembers$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.UpdateVoiceStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.UpdateVoiceStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.UpdateStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.UpdateStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Hello","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Hello$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.ReadyData","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.ReadyData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Heartbeat","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Heartbeat$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Resumed","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Resumed$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.InvalidSession","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.InvalidSession$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordAutoModerationActionExecution","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordAutoModerationActionExecution$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordDeletedInvite","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordDeletedInvite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordCreatedInvite","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordCreatedInvite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordRemovedEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordRemovedEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordRemovedReactionEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordRemovedReactionEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.GuildScheduledEventUserMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.GuildScheduledEventUserMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordThreadListSync","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordThreadListSync$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordThreadMembersUpdate","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordThreadMembersUpdate$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Intents","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Intents$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.OpCode","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.OpCode$Companion","methods":[{"name":"serializer","parameterTypes":[]}]}] \ No newline at end of file +[{"name":"dev.kord.gateway.Identify","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Identify$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.IdentifyProperties","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.IdentifyProperties$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.GuildMembersChunkData","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.GuildMembersChunkData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordPresence","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordPresence$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Resume","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Resume$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.RequestGuildMembers","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.RequestGuildMembers$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.UpdateVoiceStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.UpdateVoiceStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.UpdateStatus","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.UpdateStatus$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Hello","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Hello$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.ReadyData","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.ReadyData$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Heartbeat","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Heartbeat$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Resumed","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Resumed$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.InvalidSession","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.InvalidSession$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordAutoModerationActionExecution","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordAutoModerationActionExecution$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordDeletedInvite","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordDeletedInvite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordCreatedInvite","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordCreatedInvite$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordRemovedEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordRemovedEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordRemovedReactionEmoji","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordRemovedReactionEmoji$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.GuildScheduledEventUserMetadata","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.GuildScheduledEventUserMetadata$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordThreadListSync","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordThreadListSync$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.DiscordThreadMembersUpdate","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.DiscordThreadMembersUpdate$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.Intents","fields":[{"name":"Companion"}]},{"name":"dev.kord.gateway.Intents$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.gateway.OpCode","fields":[{"name":"OpCodeSerializer"}]},{"name":"dev.kord.gateway.OpCode$OpCodeSerializer","methods":[{"name":"serializer","parameterTypes":[]}]}] \ No newline at end of file diff --git a/graal-example/src/main/kotlin/dev/kord/core/Main.kt b/graal-example/src/main/kotlin/dev/kord/core/Main.kt index 84454f9b636a..0684c8d532a1 100644 --- a/graal-example/src/main/kotlin/dev/kord/core/Main.kt +++ b/graal-example/src/main/kotlin/dev/kord/core/Main.kt @@ -5,7 +5,9 @@ import dev.kord.gateway.Intent import dev.kord.gateway.PrivilegedIntent suspend fun main(args: Array) { - val kord = Kord(args.firstOrNull() ?: error("token required")) + val kord = Kord(args.firstOrNull() ?: error("token required")) { + enableShutdownHook = true + } kord.on { if (message.author?.isBot == true) return@on diff --git a/ksp-processors/src/main/kotlin/KSPUtils.kt b/ksp-processors/src/main/kotlin/KSPUtils.kt index be0176599880..9bdfc448f4bc 100644 --- a/ksp-processors/src/main/kotlin/KSPUtils.kt +++ b/ksp-processors/src/main/kotlin/KSPUtils.kt @@ -2,6 +2,7 @@ package dev.kord.ksp import com.google.devtools.ksp.processing.Resolver import com.google.devtools.ksp.symbol.KSAnnotation +import com.google.devtools.ksp.symbol.KSClassDeclaration import kotlin.reflect.KProperty1 internal inline fun Resolver.getSymbolsWithAnnotation(inDepth: Boolean = false) = @@ -18,3 +19,13 @@ internal class AnnotationArguments private constructor(private val map: Map { - val qualifiedName = clazz.qualifiedName?.asString() ?: run { - logger.warn("Invalid Serializable element received", clazz) - return emptyList() - } + val name = clazz.findCompanionObjectName() + + val qualifiedName = clazz.binaryName val companionField = ReflectConfigEntry( name = qualifiedName, - fields = listOf(ReflectConfigEntry.Field("Companion")) + fields = listOf(ReflectConfigEntry.Field(name)) ) val companionObject = ReflectConfigEntry( - name = "$qualifiedName\$Companion", - methods = listOf(ReflectConfigEntry.Method("serializer")) + name = "$qualifiedName\$$name", + methods = listOf( + ReflectConfigEntry.Method( + "serializer", + generateTypeParameters(clazz.typeParameters.count()).also { + logger.info("Class ${clazz.qualifiedName?.asString()} has ${it.size} type parameters") + } + ) + ) ) return listOf(companionField, companionObject) } + + private fun KSClassDeclaration.findCompanionObjectName(): String { + val companionObject = declarations.firstOrNull { + (it as? KSClassDeclaration)?.isCompanionObject == true + } + + return companionObject?.qualifiedName?.getShortName() ?: "Companion" + } + + private fun generateTypeParameters(n: Int): List = List(n) { KSerializer::class.qualifiedName!! } + } diff --git a/voice/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json b/voice/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json index 10cba4848beb..c5be56faca4d 100644 --- a/voice/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json +++ b/voice/build/generated/ksp/main/resources/META-INF/native-image/reflect-config.json @@ -1 +1 @@ -[{"name":"dev.kord.voice.SpeakingFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.SpeakingFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Identify","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Identify$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Heartbeat","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Heartbeat$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.SendSpeaking","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.SendSpeaking$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.SelectProtocol","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.SelectProtocol$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.SelectProtocol.Data","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.SelectProtocol.Data$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Resume","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Resume$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Ready","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Ready$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Hello","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Hello$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.HeartbeatAck","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.HeartbeatAck$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.SessionDescription","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.SessionDescription$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Speaking","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Speaking$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Resumed","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Resumed$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.EncryptionMode","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.EncryptionMode$Companion","methods":[{"name":"serializer","parameterTypes":[]}]}] \ No newline at end of file +[{"name":"dev.kord.voice.SpeakingFlags","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.SpeakingFlags$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Identify","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Identify$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Heartbeat","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Heartbeat$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.SendSpeaking","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.SendSpeaking$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.SelectProtocol","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.SelectProtocol$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.SelectProtocol$Data","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.SelectProtocol$Data$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Resume","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Resume$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Ready","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Ready$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Hello","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Hello$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.HeartbeatAck","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.HeartbeatAck$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.SessionDescription","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.SessionDescription$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Speaking","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Speaking$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.gateway.Resumed","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.gateway.Resumed$Companion","methods":[{"name":"serializer","parameterTypes":[]}]},{"name":"dev.kord.voice.EncryptionMode","fields":[{"name":"Companion"}]},{"name":"dev.kord.voice.EncryptionMode$Companion","methods":[{"name":"serializer","parameterTypes":[]}]}] \ No newline at end of file