From c188f22378ffa060b1be98ffdf6776c3a35513ca Mon Sep 17 00:00:00 2001
From: Sam Brannen <104798+sbrannen@users.noreply.github.com>
Date: Fri, 8 Mar 2024 13:48:30 +0100
Subject: [PATCH] Polishing
---
.../org/springframework/expression/spel/ast/Indexer.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/ast/Indexer.java b/spring-expression/src/main/java/org/springframework/expression/spel/ast/Indexer.java
index b5829cd36b8..2b8938847c0 100644
--- a/spring-expression/src/main/java/org/springframework/expression/spel/ast/Indexer.java
+++ b/spring-expression/src/main/java/org/springframework/expression/spel/ast/Indexer.java
@@ -51,7 +51,7 @@ import org.springframework.util.ReflectionUtils;
*
*
* - Arrays: the nth element
- * - Collections (list and sets): the nth element
+ * - Collections (lists and sets): the nth element
* - Strings: the nth character as a {@link String}
* - Maps: the value for the specified key
* - Objects: the property with the specified name
@@ -167,8 +167,9 @@ public class Indexer extends SpelNodeImpl {
// Indexing into a Map
if (target instanceof Map, ?> map) {
Object key = index;
- if (targetDescriptor.getMapKeyTypeDescriptor() != null) {
- key = state.convertValue(key, targetDescriptor.getMapKeyTypeDescriptor());
+ TypeDescriptor mapKeyTypeDescriptor = targetDescriptor.getMapKeyTypeDescriptor();
+ if (mapKeyTypeDescriptor != null) {
+ key = state.convertValue(key, mapKeyTypeDescriptor);
}
this.indexedType = IndexedType.MAP;
return new MapIndexingValueRef(state.getTypeConverter(), map, key, targetDescriptor);