From b44627a7a43cf1cbd26f0b175409ba05dd756101 Mon Sep 17 00:00:00 2001 From: Haruhiko Takada Date: Mon, 12 Aug 2024 17:21:05 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tfandkusu/ga913yaml/KotlinGenerator.kt | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/main/kotlin/com/tfandkusu/ga913yaml/KotlinGenerator.kt b/src/main/kotlin/com/tfandkusu/ga913yaml/KotlinGenerator.kt index 681ed14..e75b1ac 100644 --- a/src/main/kotlin/com/tfandkusu/ga913yaml/KotlinGenerator.kt +++ b/src/main/kotlin/com/tfandkusu/ga913yaml/KotlinGenerator.kt @@ -21,31 +21,33 @@ object KotlinGenerator { .addFileComment( "https://github.com/tfandkusu/ga913-yaml/ による自動生成コードです。編集しないでください。", ).addType( - TypeSpec - .objectBuilder(ROOT_CLASS) - .addType( - TypeSpec - .classBuilder(SCREEN_CLASS) - .addModifiers(KModifier.SEALED) - .apply { - addProperty( - PropertySpec - .builder( - EVENT_NAME_PROPERTY, - String::class, - ).addModifiers(KModifier.ABSTRACT) - .build(), - ) - screens.forEach { screen -> - addType(generateScreenClass(screen)) - } - }.build(), - ).build(), + generateAnalyticsEventClass(screens), ).build() - fileSpec.writeTo(System.out) } + private fun generateAnalyticsEventClass(screens: List): TypeSpec = + TypeSpec + .objectBuilder(ROOT_CLASS) + .addType( + TypeSpec + .classBuilder(SCREEN_CLASS) + .addModifiers(KModifier.SEALED) + .apply { + addProperty( + PropertySpec + .builder( + EVENT_NAME_PROPERTY, + String::class, + ).addModifiers(KModifier.ABSTRACT) + .build(), + ) + screens.forEach { screen -> + addType(generateScreenClass(screen)) + } + }.build(), + ).build() + private fun generateScreenClass(screen: Screen): TypeSpec = TypeSpec .objectBuilder(screen.className)