From d0574197ea5bd2682c6cc478d7685ae7c9351f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Mon, 18 Dec 2023 13:58:14 +0100 Subject: [PATCH] Polish "Use String.repeat instead of explicit cycle" See gh-31802 --- .../org/springframework/beans/factory/parsing/ParseState.java | 4 ++-- spring-core/src/main/java/org/springframework/asm/Type.java | 4 +++- .../java/org/springframework/cglib/core/ReflectUtils.java | 4 +++- .../web/util/pattern/PatternParseException.java | 4 ++-- .../web/reactive/function/server/ToStringVisitor.java | 4 ++-- .../springframework/web/servlet/function/ToStringVisitor.java | 4 ++-- .../web/socket/sockjs/frame/AbstractSockJsMessageCodec.java | 4 ++-- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/parsing/ParseState.java b/spring-beans/src/main/java/org/springframework/beans/factory/parsing/ParseState.java index d83e016798d..afbb1395712 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/parsing/ParseState.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/parsing/ParseState.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2020 the original author or authors. + * Copyright 2002-2023 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. @@ -98,7 +98,7 @@ public final class ParseState { for (ParseState.Entry entry : this.state) { if (i > 0) { sb.append('\n'); - sb.append("\t".repeat(i)); + sb.append("\t".repeat(i)); sb.append("-> "); } sb.append(entry); diff --git a/spring-core/src/main/java/org/springframework/asm/Type.java b/spring-core/src/main/java/org/springframework/asm/Type.java index e1a2b13e47d..7e35a139c08 100644 --- a/spring-core/src/main/java/org/springframework/asm/Type.java +++ b/spring-core/src/main/java/org/springframework/asm/Type.java @@ -462,7 +462,9 @@ public final class Type { return "double"; case ARRAY: StringBuilder stringBuilder = new StringBuilder(getElementType().getClassName()); - stringBuilder.append("[]".repeat(Math.max(0, getDimensions()))); + for (int i = getDimensions(); i > 0; --i) { + stringBuilder.append("[]"); + } return stringBuilder.toString(); case OBJECT: case INTERNAL: diff --git a/spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java b/spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java index 9c4141ccddd..9bd022ccee5 100644 --- a/spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java +++ b/spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java @@ -218,7 +218,9 @@ public class ReflectUtils { dimensions++; } StringBuilder brackets = new StringBuilder(className.length() - dimensions); - brackets.append("[".repeat(Math.max(0, dimensions))); + for (int i = 0; i < dimensions; i++) { + brackets.append('['); + } className = className.substring(0, className.length() - 2 * dimensions); String prefix = (dimensions > 0) ? brackets + "L" : ""; diff --git a/spring-web/src/main/java/org/springframework/web/util/pattern/PatternParseException.java b/spring-web/src/main/java/org/springframework/web/util/pattern/PatternParseException.java index 9c6efc95ed2..ad41a2c80bd 100644 --- a/spring-web/src/main/java/org/springframework/web/util/pattern/PatternParseException.java +++ b/spring-web/src/main/java/org/springframework/web/util/pattern/PatternParseException.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2021 the original author or authors. + * Copyright 2002-2023 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. @@ -68,7 +68,7 @@ public class PatternParseException extends IllegalArgumentException { public String toDetailedString() { StringBuilder sb = new StringBuilder(); sb.append(this.pattern).append('\n'); - sb.append(" ".repeat(Math.max(0, this.position))); + sb.append(" ".repeat(Math.max(0, this.position))); sb.append("^\n"); sb.append(getMessage()); return sb.toString(); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ToStringVisitor.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ToStringVisitor.java index 00416bf01a9..aae2c5086d3 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ToStringVisitor.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ToStringVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2023 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. @@ -81,7 +81,7 @@ class ToStringVisitor implements RouterFunctions.Visitor, RequestPredicates.Visi } private void indent() { - this.builder.append(" ".repeat(Math.max(0, this.indent))); + this.builder.append(" ".repeat(Math.max(0, this.indent))); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/ToStringVisitor.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/ToStringVisitor.java index 6654d85fdc5..5611af3995c 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/ToStringVisitor.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/ToStringVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2023 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. @@ -80,7 +80,7 @@ class ToStringVisitor implements RouterFunctions.Visitor, RequestPredicates.Visi } private void indent() { - this.builder.append(" ".repeat(Math.max(0, this.indent))); + this.builder.append(" ".repeat(Math.max(0, this.indent))); } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/frame/AbstractSockJsMessageCodec.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/frame/AbstractSockJsMessageCodec.java index 01ba5afda37..044a4a7bce8 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/frame/AbstractSockJsMessageCodec.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/frame/AbstractSockJsMessageCodec.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 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. @@ -59,7 +59,7 @@ public abstract class AbstractSockJsMessageCodec implements SockJsMessageCodec { if (isSockJsSpecialChar(c)) { result.append('\\').append('u'); String hex = Integer.toHexString(c).toLowerCase(); - result.append("0".repeat(Math.max(0, (4 - hex.length())))); + result.append("0".repeat(Math.max(0, (4 - hex.length())))); result.append(hex); } else {