From 716e7de8415485dffe25aee446458deebf540c5c Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Tue, 14 May 2024 17:58:05 +0200 Subject: [PATCH] Simplify implementation of SpelNodeImpl.loadClassForExitDescriptor(...) --- .../org/springframework/expression/spel/ast/SpelNodeImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/ast/SpelNodeImpl.java b/spring-expression/src/main/java/org/springframework/expression/spel/ast/SpelNodeImpl.java index 9d70815776a..7303fde5609 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/ast/SpelNodeImpl.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/ast/SpelNodeImpl.java @@ -308,7 +308,9 @@ public abstract class SpelNodeImpl implements SpelNode, Opcodes { return null; } String typeDescriptor = exitDescriptor; - if (typeDescriptor.startsWith("[") || typeDescriptor.startsWith("L")) { + // If the SpEL exitDescriptor is not for a primitive (single character), + // ASM expects the typeDescriptor to end with a ';'. + if (typeDescriptor.length() > 1) { typeDescriptor += ";"; } String className = Type.getType(typeDescriptor).getClassName();