diff --git a/docs/generators/kotlin-server-deprecated.md b/docs/generators/kotlin-server-deprecated.md
index 5499354747c..aa33465abdd 100644
--- a/docs/generators/kotlin-server-deprecated.md
+++ b/docs/generators/kotlin-server-deprecated.md
@@ -80,15 +80,18 @@ These options may be applied as additional-properties (cli) or configOptions (pl
continue
do
else
+external
false
for
fun
if
in
interface
+internal
is
null
object
+open
package
return
super
diff --git a/docs/generators/kotlin-server.md b/docs/generators/kotlin-server.md
index 7d9beb5ae10..4ea1d39a6ee 100644
--- a/docs/generators/kotlin-server.md
+++ b/docs/generators/kotlin-server.md
@@ -82,15 +82,18 @@ These options may be applied as additional-properties (cli) or configOptions (pl
continue
do
else
+external
false
for
fun
if
in
interface
+internal
is
null
object
+open
package
return
super
diff --git a/docs/generators/kotlin-spring.md b/docs/generators/kotlin-spring.md
index 3c62035e71e..e2895ecc57f 100644
--- a/docs/generators/kotlin-spring.md
+++ b/docs/generators/kotlin-spring.md
@@ -93,15 +93,18 @@ These options may be applied as additional-properties (cli) or configOptions (pl
continue
do
else
+external
false
for
fun
if
in
interface
+internal
is
null
object
+open
package
return
super
diff --git a/docs/generators/kotlin-vertx.md b/docs/generators/kotlin-vertx.md
index f92dadaf520..2d0fb923d13 100644
--- a/docs/generators/kotlin-vertx.md
+++ b/docs/generators/kotlin-vertx.md
@@ -74,15 +74,18 @@ These options may be applied as additional-properties (cli) or configOptions (pl
continue
do
else
+external
false
for
fun
if
in
interface
+internal
is
null
object
+open
package
return
super
diff --git a/docs/generators/kotlin.md b/docs/generators/kotlin.md
index 6432fc5be67..5883c0f573e 100644
--- a/docs/generators/kotlin.md
+++ b/docs/generators/kotlin.md
@@ -84,15 +84,18 @@ These options may be applied as additional-properties (cli) or configOptions (pl
continue
do
else
+external
false
for
fun
if
in
interface
+internal
is
null
object
+open
package
return
super
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java
index c681aaf51cb..8905d13a3f7 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java
@@ -125,7 +125,10 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
"val",
"var",
"when",
- "while"
+ "while",
+ "open",
+ "external",
+ "internal"
));
defaultIncludes = new HashSet(Arrays.asList(
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinReservedWordsTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinReservedWordsTest.java
index 58727aa3803..914ed814da8 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinReservedWordsTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinReservedWordsTest.java
@@ -48,7 +48,10 @@ public class KotlinReservedWordsTest {
{"val"},
{"var"},
{"when"},
- {"while"}
+ {"while"},
+ {"open"},
+ {"external"},
+ {"internal"}
};
}
diff --git a/modules/openapi-generator/src/test/resources/3_0/kotlin/reserved_words.yaml b/modules/openapi-generator/src/test/resources/3_0/kotlin/reserved_words.yaml
index c4022711783..881ffe49499 100644
--- a/modules/openapi-generator/src/test/resources/3_0/kotlin/reserved_words.yaml
+++ b/modules/openapi-generator/src/test/resources/3_0/kotlin/reserved_words.yaml
@@ -120,6 +120,18 @@ paths:
in: header
schema:
type: string
+ - name: open
+ in: header
+ schema:
+ type: string
+ - name: external
+ in: header
+ schema:
+ type: string
+ - name: internal
+ in: header
+ schema:
+ type: string
responses:
'200':
$ref: "#/components/schemas/Good"
@@ -186,6 +198,12 @@ components:
type: string
while:
type: string
+ open:
+ type: string
+ external:
+ type: string
+ internal:
+ type: string
linked:
$ref: '#/components/schemas/Linked'
@@ -249,7 +267,12 @@ components:
$ref: '#/components/schemas/when'
while:
$ref: '#/components/schemas/while'
-
+ open:
+ $ref: '#/components/schemas/open'
+ external:
+ $ref: '#/components/schemas/external'
+ internal:
+ $ref: '#/components/schemas/internal'
as:
title: Testing reserved word 'as'
type: object
@@ -469,6 +492,30 @@ components:
while:
title: Testing reserved word 'while'
type: object
+ properties:
+ id:
+ type: integer
+ format: int64
+
+ open:
+ title: Testing reserved word 'open'
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int64
+
+ external:
+ title: Testing reserved word 'external'
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int64
+
+ internal:
+ title: Testing reserved word 'internal'
+ type: object
properties:
id:
type: integer