From dadb2953d7b590ce5cc6a301f9f762e39e2d77aa Mon Sep 17 00:00:00 2001 From: Kun Li Date: Fri, 10 Nov 2023 09:40:03 -0800 Subject: [PATCH] Fix typeAliasWithModifier --- .../kotlin/internal/KotlinTreeParserVisitor.java | 3 +-- .../org/openrewrite/kotlin/tree/TypeAliasTest.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/openrewrite/kotlin/internal/KotlinTreeParserVisitor.java b/src/main/java/org/openrewrite/kotlin/internal/KotlinTreeParserVisitor.java index 252bbf378..1302d56a6 100644 --- a/src/main/java/org/openrewrite/kotlin/internal/KotlinTreeParserVisitor.java +++ b/src/main/java/org/openrewrite/kotlin/internal/KotlinTreeParserVisitor.java @@ -1224,10 +1224,9 @@ public J visitTypeAlias(KtTypeAlias typeAlias, ExecutionContext data) { List lastAnnotations = new ArrayList<>(); Set consumedSpaces = preConsumedInfix(typeAlias); + modifiers.addAll(mapModifiers(typeAlias.getModifierList(), leadingAnnotations, lastAnnotations, data)); modifiers.add(new J.Modifier(randomId(), prefix(typeAlias.getTypeAliasKeyword(), consumedSpaces), markers, "typealias", J.Modifier.Type.LanguageExtension, emptyList())); - mapModifiers(typeAlias.getModifierList(), leadingAnnotations, lastAnnotations, data); - if (typeAlias.getIdentifyingElement() == null) { throw new UnsupportedOperationException("TODO"); } diff --git a/src/test/java/org/openrewrite/kotlin/tree/TypeAliasTest.java b/src/test/java/org/openrewrite/kotlin/tree/TypeAliasTest.java index 69cf9bd5e..51b4af8ae 100644 --- a/src/test/java/org/openrewrite/kotlin/tree/TypeAliasTest.java +++ b/src/test/java/org/openrewrite/kotlin/tree/TypeAliasTest.java @@ -61,4 +61,16 @@ void typeAliasForFunctionType() { ) ); } + + @Issue("https://github.com/openrewrite/rewrite-kotlin/issues/375") + @Test + void typeAliasWithModifier() { + rewriteRun( + kotlin( + """ + internal typealias Action = (String) -> Unit + """ + ) + ); + } }