From b484f98f4f3410f2a9284075c21cdb29babb19c6 Mon Sep 17 00:00:00 2001 From: aboyko Date: Wed, 26 Feb 2025 09:34:55 -0500 Subject: [PATCH] Do not compute unnecessary UUID for Range --- .../reconcilers/AbstractSecurityLamdaDslReconciler.java | 2 +- .../AutowiredFieldIntoConstructorParameterReconciler.java | 2 +- .../java/reconcilers/BeanMethodNotPublicReconciler.java | 4 ++-- .../BeanPostProcessingIgnoreInAotReconciler.java | 2 +- .../reconcilers/ImplicitWebAnnotationNamesReconciler.java | 2 +- .../reconcilers/NoAutowiredOnConstructorReconciler.java | 2 +- .../reconcilers/NoRequestMappingAnnotationReconciler.java | 2 +- .../boot/java/reconcilers/PreciseBeanTypeReconciler.java | 2 +- .../ide/vscode/boot/java/reconcilers/ReconcileUtils.java | 6 +++--- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AbstractSecurityLamdaDslReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AbstractSecurityLamdaDslReconciler.java index 22d7afa8b9..4d97704bbb 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AbstractSecurityLamdaDslReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AbstractSecurityLamdaDslReconciler.java @@ -50,7 +50,7 @@ public boolean visit(MethodInvocation node) { ReconcileUtils.setRewriteFixes(registry, problem, List.of( new FixDescriptor(getRecipeId(), List.of(uri), ReconcileUtils.buildLabel(getFixLabel(), RecipeScope.NODE)) - .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, topMethodInvocation)) + .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, topMethodInvocation, null)) .withRecipeScope(RecipeScope.NODE), new FixDescriptor(getRecipeId(), List.of(uri), ReconcileUtils.buildLabel(getFixLabel(), RecipeScope.FILE)) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AutowiredFieldIntoConstructorParameterReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AutowiredFieldIntoConstructorParameterReconciler.java index 3355b13351..19b031448b 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AutowiredFieldIntoConstructorParameterReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/AutowiredFieldIntoConstructorParameterReconciler.java @@ -137,7 +137,7 @@ private ReconcileProblemImpl createProblem(CompilationUnit cu, FieldDeclaration : "") + typeDecl.getName().getFullyQualifiedName(); ReconcileUtils.setRewriteFixes(registry, problem, List.of(new FixDescriptor(ConvertAutowiredFieldIntoConstructorParameter.class.getName(), List.of(docUri.toASCIIString()), LABEL) - .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, typeDecl)) + .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, typeDecl, null)) .withParameters(Map.of("classFqName", typeFqName, "fieldName", fieldName)) .withRecipeScope(RecipeScope.NODE))); return problem; diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanMethodNotPublicReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanMethodNotPublicReconciler.java index 80b2313dd5..d7ebfa92d0 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanMethodNotPublicReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanMethodNotPublicReconciler.java @@ -151,9 +151,9 @@ private void addQuickFixes(CompilationUnit cu, URI docUri, ReconcileProblemImpl FixDescriptor fix1 = new FixDescriptor(id, List.of(docUri.toASCIIString()), LABEL) .withRecipeScope(RecipeScope.NODE) - .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, method)); + .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, method, null)); - Range methodRange = ReconcileUtils.createOpenRewriteRange(cu, method); + Range methodRange = ReconcileUtils.createOpenRewriteRange(cu, method, null); fix1 = fix1.withRangeScope(methodRange); FixDescriptor fix2 = new FixDescriptor(id, List.of(docUri.toASCIIString()), ReconcileUtils.buildLabel(LABEL, RecipeScope.FILE)) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanPostProcessingIgnoreInAotReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanPostProcessingIgnoreInAotReconciler.java index e4e99e6080..7564f4e0af 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanPostProcessingIgnoreInAotReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/BeanPostProcessingIgnoreInAotReconciler.java @@ -96,7 +96,7 @@ public boolean visit(ReturnStatement node) { ReconcileProblemImpl problem = new ReconcileProblemImpl(getProblemType(), LABEL, typeDecl.getName().getStartPosition(), typeDecl.getName().getLength()); ReconcileUtils.setRewriteFixes(registry, problem, List.of( new FixDescriptor(BeanPostProcessingIgnoreInAot.class.getName(), List.of(docUri.toASCIIString()), ReconcileUtils.buildLabel(LABEL, RecipeScope.NODE)) - .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, typeDecl)) + .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, typeDecl, null)) .withRecipeScope(RecipeScope.NODE) )); problemCollector.accept(problem); diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ImplicitWebAnnotationNamesReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ImplicitWebAnnotationNamesReconciler.java index b6efaebd57..2bc283da05 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ImplicitWebAnnotationNamesReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ImplicitWebAnnotationNamesReconciler.java @@ -97,7 +97,7 @@ private void processWebAnnotation(Annotation a) { ReconcileProblemImpl problem = new ReconcileProblemImpl(getProblemType(), PROBLEM_LABEL, nodeForProblemRange.getStartPosition(), nodeForProblemRange.getLength()); String uri = docUri.toASCIIString(); - Range range = ReconcileUtils.createOpenRewriteRange(cu, a); + Range range = ReconcileUtils.createOpenRewriteRange(cu, a, null); ReconcileUtils.setRewriteFixes(registry, problem, List.of( new FixDescriptor(org.openrewrite.java.spring.ImplicitWebAnnotationNames.class.getName(), List.of(uri), FIX_LABEL) .withRangeScope(range) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoAutowiredOnConstructorReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoAutowiredOnConstructorReconciler.java index 998708377a..c39ebbd858 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoAutowiredOnConstructorReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoAutowiredOnConstructorReconciler.java @@ -90,7 +90,7 @@ public boolean visit(TypeDeclaration typeDecl) { ReconcileUtils.setRewriteFixes(registry, problem, List.of(new FixDescriptor(NoAutowiredOnConstructor.class.getName(), List.of(docUri.toASCIIString()), FIX_LABEL) .withRecipeScope(RecipeScope.NODE) - .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, typeDecl)))); + .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, typeDecl, null)))); problemCollector.accept(problem); } } diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRequestMappingAnnotationReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRequestMappingAnnotationReconciler.java index ee6869e358..c1033952fe 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRequestMappingAnnotationReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/NoRequestMappingAnnotationReconciler.java @@ -96,7 +96,7 @@ private void processAnnotation(Annotation a) { List requestMethods = getRequestMethods(cu, a); if (!requestMethods.isEmpty() && !requestMethods.contains(UNSUPPORTED_REQUEST_METHOD)) { String uri = docUri.toASCIIString(); - Range range = ReconcileUtils.createOpenRewriteRange(cu, a); + Range range = ReconcileUtils.createOpenRewriteRange(cu, a, null); if (requestMethods.size() == 1 && SUPPORTED_REQUEST_METHODS.contains(requestMethods.get(0))) { ReconcileProblemImpl problem = new ReconcileProblemImpl(getProblemType(), PROBLEM_LABEL, a.getStartPosition(), a.getLength()); ReconcileUtils.setRewriteFixes(registry, problem, List.of( diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/PreciseBeanTypeReconciler.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/PreciseBeanTypeReconciler.java index 64a9b366ee..83985e7aa7 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/PreciseBeanTypeReconciler.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/PreciseBeanTypeReconciler.java @@ -99,7 +99,7 @@ public void endVisit(MethodDeclaration method) { ReconcileUtils.setRewriteFixes(registry, problem, List.of( new FixDescriptor(recipeId, List.of(uri), ReconcileUtils.buildLabel("Replace return type with '" + replacementType + "'", RecipeScope.NODE)) .withRecipeScope(RecipeScope.NODE) - .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, method)), + .withRangeScope(ReconcileUtils.createOpenRewriteRange(cu, method, null)), new FixDescriptor(recipeId, List.of(uri), ReconcileUtils.buildLabel(LABEL, RecipeScope.FILE)) .withRecipeScope(RecipeScope.FILE), new FixDescriptor(recipeId, List.of(uri), ReconcileUtils.buildLabel(LABEL, RecipeScope.PROJECT)) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ReconcileUtils.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ReconcileUtils.java index df0727ba25..7066bec23e 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ReconcileUtils.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/reconcilers/ReconcileUtils.java @@ -12,6 +12,7 @@ import java.util.Collection; import java.util.Iterator; +import java.util.UUID; import java.util.concurrent.atomic.AtomicBoolean; import org.eclipse.jdt.core.dom.ASTNode; @@ -23,7 +24,6 @@ import org.eclipse.jdt.core.dom.ImportDeclaration; import org.eclipse.jdt.core.dom.Name; import org.eclipse.jdt.core.dom.SimpleType; -import org.openrewrite.Tree; import org.openrewrite.marker.Range; import org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchies; import org.springframework.ide.vscode.boot.java.rewrite.RewriteRefactorings; @@ -36,7 +36,7 @@ public class ReconcileUtils { - public static Range createOpenRewriteRange(CompilationUnit cu, ASTNode node) { + public static Range createOpenRewriteRange(CompilationUnit cu, ASTNode node, UUID id) { int startOffset = node.getStartPosition(); int startLine = cu.getLineNumber(startOffset); @@ -49,7 +49,7 @@ public static Range createOpenRewriteRange(CompilationUnit cu, ASTNode node) { Range.Position startPosition = new Range.Position(startOffset, startLine, startColumn); Range.Position endPosition = new Range.Position(endOffset, endLine, endColumn); - return new Range(Tree.randomId(), startPosition, endPosition); + return new Range(id, startPosition, endPosition); } public static QuickfixType getRewriteQuickFixType(QuickfixRegistry registry) {