diff --git a/rewrite-java-25/src/main/java/org/openrewrite/java/isolated/ReloadableJava25ParserVisitor.java b/rewrite-java-25/src/main/java/org/openrewrite/java/isolated/ReloadableJava25ParserVisitor.java index 0cafe05429..56a8a342ee 100644 --- a/rewrite-java-25/src/main/java/org/openrewrite/java/isolated/ReloadableJava25ParserVisitor.java +++ b/rewrite-java-25/src/main/java/org/openrewrite/java/isolated/ReloadableJava25ParserVisitor.java @@ -21,6 +21,7 @@ import com.sun.source.util.TreePathScanner; import com.sun.tools.javac.code.Flags; import com.sun.tools.javac.code.Symbol; +import com.sun.tools.javac.code.Symtab; import com.sun.tools.javac.tree.DocCommentTable; import com.sun.tools.javac.tree.EndPosTable; import com.sun.tools.javac.tree.JCTree; @@ -37,10 +38,9 @@ import org.openrewrite.java.JavaParsingException; import org.openrewrite.java.JavaPrinter; import org.openrewrite.java.internal.JavaTypeCache; -import org.openrewrite.java.marker.CompactConstructor; -import org.openrewrite.java.marker.OmitParentheses; -import org.openrewrite.java.marker.TrailingComma; +import org.openrewrite.java.marker.*; import org.openrewrite.java.tree.*; +import org.openrewrite.marker.Marker; import org.openrewrite.marker.Markers; import org.openrewrite.style.NamedStyles; @@ -397,9 +397,11 @@ public J visitClass(ClassTree node, Space fmt) { Map annotationPosTable = mapAnnotations(node.getModifiers().getAnnotations(), new HashMap<>(node.getModifiers().getAnnotations().size())); + int saveCursor = cursor; ReloadableJava25ModifierResults modifierResults = sortedModifiersAndAnnotations(node.getModifiers(), annotationPosTable); List kindAnnotations = collectAnnotations(annotationPosTable); + CompactSourceFile compactSourceFile = null; J.ClassDeclaration.Kind kind; if (hasFlag(node.getModifiers(), Flags.ENUM)) { @@ -412,10 +414,17 @@ public J visitClass(ClassTree node, Space fmt) { } else if (hasFlag(node.getModifiers(), Flags.RECORD)) { kind = new J.ClassDeclaration.Kind(randomId(), sourceBefore("record"), Markers.EMPTY, kindAnnotations, J.ClassDeclaration.Kind.Type.Record); } else { - kind = new J.ClassDeclaration.Kind(randomId(), sourceBefore("class"), Markers.EMPTY, kindAnnotations, J.ClassDeclaration.Kind.Type.Class); + Space prefix = whitespace(); + if (source.startsWith("class", cursor)) { + skip("class"); + } else { + compactSourceFile = new CompactSourceFile(randomId()); + cursor = saveCursor; + } + kind = new J.ClassDeclaration.Kind(randomId(), prefix, Markers.EMPTY, kindAnnotations, J.ClassDeclaration.Kind.Type.Class); } - J.Identifier name = new J.Identifier(randomId(), sourceBefore(node.getSimpleName().toString()), + J.Identifier name = new J.Identifier(randomId(), compactSourceFile != null ? EMPTY : sourceBefore(node.getSimpleName().toString()), Markers.EMPTY, emptyList(), ((JCClassDecl) node).getSimpleName().toString(), typeMapping.type(node), null); JContainer typeParams = node.getTypeParameters().isEmpty() ? null : JContainer.build( @@ -498,7 +507,7 @@ public J visitClass(ClassTree node, Space fmt) { ); } - Space bodyPrefix = sourceBefore("{"); + Space bodyPrefix = compactSourceFile != null ? whitespace() : sourceBefore("{"); // enum values are required by the grammar to occur before any ordinary field, constructor, or method members List jcEnums = new ArrayList<>(node.getMembers().size()); @@ -587,10 +596,13 @@ public J visitClass(ClassTree node, Space fmt) { members.addAll(convertStatements(membersMultiVariablesSeparated)); addPossibleEmptyStatementsBeforeClosingBrace(members); - J.Block body = new J.Block(randomId(), bodyPrefix, Markers.EMPTY, new JRightPadded<>(false, EMPTY, Markers.EMPTY), - members, sourceBefore("}")); + J.Block body = new J.Block(randomId(), bodyPrefix, compactSourceFile != null ? Markers.build(List.of(new OmitBraces(randomId()))) : Markers.EMPTY, + new JRightPadded<>(false, EMPTY, Markers.EMPTY), + members, + compactSourceFile != null ? whitespace() : sourceBefore("}")); - return new J.ClassDeclaration(randomId(), fmt, Markers.EMPTY, modifierResults.getLeadingAnnotations(), modifierResults.getModifiers(), kind, name, typeParams, + return new J.ClassDeclaration(randomId(), fmt, compactSourceFile != null ? Markers.build(List.of(compactSourceFile)) : Markers.EMPTY, + modifierResults.getLeadingAnnotations(), modifierResults.getModifiers(), kind, name, typeParams, primaryConstructor, extendings, implementings, permitting, body, (JavaType.FullyQualified) typeMapping.type(node)); } @@ -611,17 +623,21 @@ public J visitCompilationUnit(CompilationUnitTree node, Space fmt) { Map annotationPosTable = mapAnnotations(node.getPackageAnnotations(), new HashMap<>(node.getPackageAnnotations().size())); List packageAnnotations = collectAnnotations(annotationPosTable); + List markers = new ArrayList<>(styles); J.Package packageDecl = null; if (cu.getPackageName() != null) { - Space packagePrefix = sourceBefore("package"); - packageDecl = new J.Package(randomId(), packagePrefix, Markers.EMPTY, + packageDecl = new J.Package(randomId(), sourceBefore("package"), Markers.EMPTY, convert(cu.getPackageName()), packageAnnotations); + } else if (cu.getPackageName() == null && + cu.modle.equals(Symtab.instance(context).unnamedModule) && + cu.packge.equals(Symtab.instance(context).unnamedModule.unnamedPackage)) { + int saveCursor = cursor; } return new J.CompilationUnit( randomId(), fmt, - Markers.build(styles), + Markers.build(markers), sourcePath, fileAttributes, charset.name(), diff --git a/rewrite-java-tck/src/main/java/org/openrewrite/java/tree/ClassDeclarationTest.java b/rewrite-java-tck/src/main/java/org/openrewrite/java/tree/ClassDeclarationTest.java index 343a6d1972..ec851ed1c2 100644 --- a/rewrite-java-tck/src/main/java/org/openrewrite/java/tree/ClassDeclarationTest.java +++ b/rewrite-java-tck/src/main/java/org/openrewrite/java/tree/ClassDeclarationTest.java @@ -16,12 +16,14 @@ package org.openrewrite.java.tree; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import org.openrewrite.Issue; import org.openrewrite.java.JavaIsoVisitor; import org.openrewrite.java.MinimumJava17; +import org.openrewrite.java.MinimumJava25; import org.openrewrite.test.RewriteTest; import static org.assertj.core.api.Assertions.assertThat; @@ -276,4 +278,134 @@ class A { ) ); } + + @Issue("https://openjdk.org/jeps/512") + @MinimumJava25 + @Nested + class ImplicitClasses implements RewriteTest { + + @Test + void implicitClassWithMainMethod() { + rewriteRun( + java( + """ + void main() { + System.out.println("Hello from implicit class!"); + } + """, + spec -> spec.path("com/example/Main.java") + ) + ); + } + + @Test + void implicitClassWithAbundantSpacing() { + rewriteRun( + java( + """ + + void main() { + + System.out.println("Hello from implicit class!"); + + } + + """, + spec -> spec.path("com/example/Main.java") + ) + ); + } + + @Test + void implicitClassWithMultipleMethods() { + rewriteRun( + java( + """ + void main() { + greet("World"); + } + + void greet(String name) { + System.out.println("Hello, " + name + "!"); + } + """, + spec -> spec.path("com/example/Main.java") + ) + ); + } + + @Test + void implicitClassWithFields() { + rewriteRun( + java( + """ + String greeting = "Hello"; + + void main() { + System.out.println(greeting + ", World!"); + } + """, + spec -> spec.path("com/example/Main.java") + ) + ); + } + + @Test + void implicitClassUtilizingJavaBase() { + rewriteRun( + java( + """ + void main() { + List names = new ArrayList<>(); + names.add("Alice"); + names.add("Bob"); + System.out.println(names); + } + """, + spec -> spec.path("com/example/Main.java") + ) + ); + } + + @Test + void implicitClassWithConstructor() { + rewriteRun( + java( + """ + private String name; + + Main(String name) { + this.name = name; + } + + void main() { + System.out.println("Name: " + name); + } + """, + spec -> spec.path("com/example/Main.java") + ) + ); + } + + @Test + void implicitClassWithInnerClass() { + rewriteRun( + java( + """ + void main() { + Helper helper = new Helper(); + helper.help(); + } + + class Helper { + void help() { + System.out.println("Helping!"); + } + } + """, + spec -> spec.path("com/example/Main.java") + ) + ); + } + } } diff --git a/rewrite-java-tck/src/main/java/org/openrewrite/java/tree/MethodDeclarationTest.java b/rewrite-java-tck/src/main/java/org/openrewrite/java/tree/MethodDeclarationTest.java index 02a7dd20f7..96aff36384 100644 --- a/rewrite-java-tck/src/main/java/org/openrewrite/java/tree/MethodDeclarationTest.java +++ b/rewrite-java-tck/src/main/java/org/openrewrite/java/tree/MethodDeclarationTest.java @@ -15,7 +15,10 @@ */ package org.openrewrite.java.tree; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; +import org.openrewrite.Issue; +import org.openrewrite.java.MinimumJava25; import org.openrewrite.test.RewriteTest; import static org.openrewrite.java.Assertions.java; @@ -116,4 +119,91 @@ public void foo() { }/*Comments*/ ); } + @Issue("https://openjdk.org/jeps/512") + @MinimumJava25 + @Nested + class InstanceMainMethods implements RewriteTest { + + @Test + void instanceMainMethodWithNoParameters() { + rewriteRun( + java( + """ + class HelloWorld { + void main() { + System.out.println("Hello, World!"); + } + } + """ + ) + ); + } + + @Test + void instanceMainMethodWithStringArrayParameter() { + rewriteRun( + java( + """ + class HelloWorld { + void main(String[] args) { + System.out.println("Hello, World!"); + } + } + """ + ) + ); + } + + @Test + void instanceMainMethodWithInstanceFields() { + rewriteRun( + java( + """ + class Counter { + private int count = 0; + + void main() { + count++; + System.out.println("Count: " + count); + } + } + """ + ) + ); + } + + @Test + void instanceMainMethodCallingInstanceMethods() { + rewriteRun( + java( + """ + class Greeter { + void main() { + greet("World"); + } + + void greet(String name) { + System.out.println("Hello, " + name + "!"); + } + } + """ + ) + ); + } + + @Test + void staticMainMethodStillSupported() { + rewriteRun( + java( + """ + class TraditionalMain { + public static void main(String[] args) { + System.out.println("Traditional main method"); + } + } + """ + ) + ); + } + } } diff --git a/rewrite-java/src/main/java/org/openrewrite/java/JavaPrinter.java b/rewrite-java/src/main/java/org/openrewrite/java/JavaPrinter.java index c16570cec1..960ea28271 100644 --- a/rewrite-java/src/main/java/org/openrewrite/java/JavaPrinter.java +++ b/rewrite-java/src/main/java/org/openrewrite/java/JavaPrinter.java @@ -19,9 +19,7 @@ import org.openrewrite.Cursor; import org.openrewrite.PrintOutputCapture; import org.openrewrite.Tree; -import org.openrewrite.java.marker.CompactConstructor; -import org.openrewrite.java.marker.OmitParentheses; -import org.openrewrite.java.marker.TrailingComma; +import org.openrewrite.java.marker.*; import org.openrewrite.java.tree.*; import org.openrewrite.java.tree.J.*; import org.openrewrite.marker.Marker; @@ -29,6 +27,7 @@ import java.util.Iterator; import java.util.List; +import java.util.Optional; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.UnaryOperator; @@ -381,10 +380,15 @@ public J visitBlock(Block block, PrintOutputCapture

p) { visitRightPadded(block.getPadding().getStatic(), JRightPadded.Location.STATIC_INIT, p); } - p.append('{'); + boolean omitBraces = block.getMarkers().findFirst(OmitBraces.class).isPresent(); + if (!omitBraces) { + p.append("{"); + } visitStatements(block.getPadding().getStatements(), JRightPadded.Location.BLOCK_STATEMENT, p); visitSpace(block.getEnd(), Space.Location.BLOCK_END, p); - p.append('}'); + if (!omitBraces) { + p.append("}"); + } afterSyntax(block, p); return block; } @@ -539,6 +543,13 @@ public J visitClassDeclaration(ClassDeclaration classDecl, PrintOutputCapture

break; } + if (classDecl.getMarkers().findFirst(CompactSourceFile.class).isPresent()) { + beforeSyntax(classDecl, Space.Location.CLASS_DECLARATION_PREFIX, p); + visit(classDecl.getBody(), p); + afterSyntax(classDecl, p); + return classDecl; + } + beforeSyntax(classDecl, Space.Location.CLASS_DECLARATION_PREFIX, p); visitSpace(Space.EMPTY, Space.Location.ANNOTATIONS, p); visit(classDecl.getLeadingAnnotations(), p); diff --git a/rewrite-java/src/main/java/org/openrewrite/java/marker/CompactSourceFile.java b/rewrite-java/src/main/java/org/openrewrite/java/marker/CompactSourceFile.java new file mode 100644 index 0000000000..35a33b9373 --- /dev/null +++ b/rewrite-java/src/main/java/org/openrewrite/java/marker/CompactSourceFile.java @@ -0,0 +1,28 @@ +/* + * Copyright 2025 the original author or authors. + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * https://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openrewrite.java.marker; + +import lombok.Value; +import lombok.With; +import org.openrewrite.marker.Marker; + +import java.util.UUID; + +@Value +@With +public class CompactSourceFile implements Marker { + UUID id; +} diff --git a/rewrite-java/src/main/java/org/openrewrite/java/marker/OmitBraces.java b/rewrite-java/src/main/java/org/openrewrite/java/marker/OmitBraces.java new file mode 100644 index 0000000000..902b3dcf52 --- /dev/null +++ b/rewrite-java/src/main/java/org/openrewrite/java/marker/OmitBraces.java @@ -0,0 +1,32 @@ +/* + * Copyright 2025 the original author or authors. + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * https://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openrewrite.java.marker; + +import lombok.Value; +import lombok.With; +import org.openrewrite.marker.Marker; + +import java.util.UUID; + +@Value +@With +public class OmitBraces implements Marker { + UUID id; + + public OmitBraces(UUID id) { + this.id = id; + } +} diff --git a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/BlankLinesVisitor.java b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/BlankLinesVisitor.java index 773bdbf4b9..74d7736685 100644 --- a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/BlankLinesVisitor.java +++ b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/BlankLinesVisitor.java @@ -19,9 +19,9 @@ import org.jspecify.annotations.Nullable; import org.openrewrite.Tree; import org.openrewrite.internal.ListUtils; +import org.openrewrite.java.marker.OmitBraces; import org.openrewrite.java.tree.*; import org.openrewrite.kotlin.KotlinIsoVisitor; -import org.openrewrite.kotlin.marker.OmitBraces; import org.openrewrite.kotlin.marker.PrimaryConstructor; import org.openrewrite.kotlin.marker.SingleExpressionBlock; import org.openrewrite.kotlin.style.BlankLinesStyle; @@ -338,7 +338,8 @@ public K.When visitWhen(K.When when, P p) { K.WhenBranch branch = (K.WhenBranch) s; K.WhenBranch previousBranch = (K.WhenBranch) branches.getStatements().get(index - 1); boolean isPreviousWhenBranchWithBlock = previousBranch.getBody() instanceof J.Block && - !previousBranch.getBody().getMarkers().findFirst(OmitBraces.class).isPresent(); + (!previousBranch.getBody().getMarkers().findFirst(OmitBraces.class).isPresent() || + !previousBranch.getMarkers().findFirst(org.openrewrite.kotlin.marker.OmitBraces.class).isPresent()); if (!isPreviousWhenBranchWithBlock) { return s; } diff --git a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/SpacesVisitor.java b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/SpacesVisitor.java index c90cd87f09..c26adb0634 100644 --- a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/SpacesVisitor.java +++ b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/SpacesVisitor.java @@ -20,6 +20,7 @@ import org.openrewrite.Tree; import org.openrewrite.internal.ListUtils; import org.openrewrite.internal.StringUtils; +import org.openrewrite.java.marker.OmitBraces; import org.openrewrite.java.marker.OmitParentheses; import org.openrewrite.java.marker.TrailingComma; import org.openrewrite.java.tree.*; @@ -176,7 +177,8 @@ private Markers spaceBeforeColonAfterDeclarationName(Markers markers) { @Override public J.ClassDeclaration visitClassDeclaration(J.ClassDeclaration classDecl, P p) { J.ClassDeclaration c = super.visitClassDeclaration(classDecl, p); - boolean omitBraces = c.getBody().getMarkers().findFirst(OmitBraces.class).isPresent(); + boolean omitBraces = c.getBody().getMarkers().findFirst(OmitBraces.class).isPresent() || + c.getBody().getMarkers().findFirst(org.openrewrite.kotlin.marker.OmitBraces.class).isPresent(); c = c.withBody(spaceBefore(c.getBody(), beforeLeftBrace && !omitBraces)); if (c.getBody().getStatements().isEmpty()) { if (c.getKind() != J.ClassDeclaration.Kind.Type.Enum) { diff --git a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/TabsAndIndentsVisitor.java b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/TabsAndIndentsVisitor.java index 52cda3e929..a3a7bc7c76 100644 --- a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/TabsAndIndentsVisitor.java +++ b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/TabsAndIndentsVisitor.java @@ -20,11 +20,11 @@ import org.openrewrite.Tree; import org.openrewrite.internal.ListUtils; import org.openrewrite.internal.StringUtils; +import org.openrewrite.java.marker.OmitBraces; import org.openrewrite.java.marker.ImplicitReturn; import org.openrewrite.java.tree.*; import org.openrewrite.kotlin.KotlinIsoVisitor; import org.openrewrite.kotlin.marker.Implicit; -import org.openrewrite.kotlin.marker.OmitBraces; import org.openrewrite.kotlin.marker.SingleExpressionBlock; import org.openrewrite.kotlin.marker.TrailingLambdaArgument; import org.openrewrite.kotlin.style.TabsAndIndentsStyle; @@ -156,7 +156,8 @@ public Space visitSpace(Space space, Space.Location loc, P p) { if (parent != null && parent.getValue() instanceof J.Annotation) { parent.getParentOrThrow().putMessage("afterAnnotation", true); } else if (loc == Space.Location.BLOCK_PREFIX && - ((J.Block) value).getMarkers().findFirst(OmitBraces.class).isPresent() && + (((J.Block) value).getMarkers().findFirst(OmitBraces.class).isPresent() || + ((J.Block) value).getMarkers().findFirst(org.openrewrite.kotlin.marker.OmitBraces.class).isPresent()) && ((J.Block) value).getStatements().isEmpty()) { return space; } else if (parent != null && !getCursor().getParentOrThrow().getPath(J.Annotation.class::isInstance).hasNext()) { diff --git a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/WrappingAndBracesVisitor.java b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/WrappingAndBracesVisitor.java index 7195d29624..ed093fddae 100644 --- a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/WrappingAndBracesVisitor.java +++ b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/format/WrappingAndBracesVisitor.java @@ -20,9 +20,9 @@ import org.openrewrite.Cursor; import org.openrewrite.Tree; import org.openrewrite.internal.ListUtils; +import org.openrewrite.java.marker.OmitBraces; import org.openrewrite.java.tree.*; import org.openrewrite.kotlin.KotlinIsoVisitor; -import org.openrewrite.kotlin.marker.OmitBraces; import org.openrewrite.kotlin.marker.PrimaryConstructor; import org.openrewrite.kotlin.style.WrappingAndBracesStyle; @@ -52,7 +52,8 @@ public Statement visitStatement(Statement statement, P p) { if (parentTree instanceof J.Block && !(j instanceof J.EnumValueSet)) { J.Block parentBlock = (J.Block) parentTree; - if (parentBlock.getMarkers().findFirst(OmitBraces.class).isPresent()) { + if (parentBlock.getMarkers().findFirst(OmitBraces.class).isPresent() || + parentBlock.getMarkers().findFirst(org.openrewrite.kotlin.marker.OmitBraces.class).isPresent()) { return j; } diff --git a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/internal/KotlinPrinter.java b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/internal/KotlinPrinter.java index 904356fb63..e3c344e52d 100755 --- a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/internal/KotlinPrinter.java +++ b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/internal/KotlinPrinter.java @@ -21,6 +21,7 @@ import org.openrewrite.Tree; import org.openrewrite.java.JavaPrinter; import org.openrewrite.java.marker.ImplicitReturn; +import org.openrewrite.java.marker.OmitBraces; import org.openrewrite.java.marker.OmitParentheses; import org.openrewrite.java.marker.Quoted; import org.openrewrite.java.tree.*; @@ -599,7 +600,8 @@ public J visitBlock(J.Block block, PrintOutputCapture

p) { p.append("="); } - boolean omitBraces = block.getMarkers().findFirst(OmitBraces.class).isPresent(); + boolean omitBraces = block.getMarkers().findFirst(OmitBraces.class).isPresent() || + block.getMarkers().findFirst(org.openrewrite.kotlin.marker.OmitBraces.class).isPresent(); if (!omitBraces) { p.append("{"); } diff --git a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/internal/KotlinTreeParserVisitor.java b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/internal/KotlinTreeParserVisitor.java index be8ff606d3..d29c8241bf 100644 --- a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/internal/KotlinTreeParserVisitor.java +++ b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/internal/KotlinTreeParserVisitor.java @@ -47,6 +47,7 @@ import org.openrewrite.internal.EncodingDetectingInputStream; import org.openrewrite.internal.ListUtils; import org.openrewrite.java.marker.ImplicitReturn; +import org.openrewrite.java.marker.OmitBraces; import org.openrewrite.java.marker.OmitParentheses; import org.openrewrite.java.marker.Quoted; import org.openrewrite.java.marker.TrailingComma; diff --git a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/marker/OmitBraces.java b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/marker/OmitBraces.java index be5effe619..bb34b52d36 100644 --- a/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/marker/OmitBraces.java +++ b/rewrite-kotlin/src/main/java/org/openrewrite/kotlin/marker/OmitBraces.java @@ -21,8 +21,12 @@ import java.util.UUID; +/** + * Use {@link org.openrewrite.java.marker.OmitBraces} instead. + */ @Value @With +@Deprecated public class OmitBraces implements Marker { UUID id;