From 0d71e7ea961bdd6b5901ac4ededd7a056baa3eca Mon Sep 17 00:00:00 2001 From: Dimitris Koutsogiorgas Date: Thu, 14 Dec 2023 15:39:42 +0200 Subject: [PATCH] Add convenience modifier --- .../java/io/outfoxx/swiftpoet/Modifier.kt | 2 ++ .../swiftpoet/test/FunctionSpecTests.kt | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/main/java/io/outfoxx/swiftpoet/Modifier.kt b/src/main/java/io/outfoxx/swiftpoet/Modifier.kt index a45057425..d89863952 100644 --- a/src/main/java/io/outfoxx/swiftpoet/Modifier.kt +++ b/src/main/java/io/outfoxx/swiftpoet/Modifier.kt @@ -38,6 +38,8 @@ enum class Modifier( REQUIRED("required", Target.FUNCTION), + CONVENIENCE("convenience", Target.FUNCTION), + INOUT("inout", Target.PARAMETER), WEAK("weak", Target.PROPERTY), diff --git a/src/test/java/io/outfoxx/swiftpoet/test/FunctionSpecTests.kt b/src/test/java/io/outfoxx/swiftpoet/test/FunctionSpecTests.kt index 3cf5ad2a5..28aa71089 100644 --- a/src/test/java/io/outfoxx/swiftpoet/test/FunctionSpecTests.kt +++ b/src/test/java/io/outfoxx/swiftpoet/test/FunctionSpecTests.kt @@ -430,6 +430,28 @@ class FunctionSpecTests { ) } + @Test + @DisplayName("Generates constructor with convenience modifier") + fun testConvenienceModifier() { + val testFunc = FunctionSpec.constructorBuilder() + .addModifiers(Modifier.PUBLIC, Modifier.CONVENIENCE) + .build() + + val out = StringWriter() + testFunc.emit(CodeWriter(out), setOf()) + + assertThat( + out.toString(), + equalTo( + """ + public convenience init() { + } + + """.trimIndent() + ) + ) + } + @Test @DisplayName("Generates decorators formatted") fun testGenDecorators() {