From 60ee39bd53e21842b8d68fab2f1e88251f13bf3a Mon Sep 17 00:00:00 2001 From: Tommi Reiman Date: Wed, 22 May 2019 16:39:37 +0300 Subject: [PATCH] Trie$Match is mutable, fixes #277 --- modules/reitit-core/java-src/reitit/Trie.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/reitit-core/java-src/reitit/Trie.java b/modules/reitit-core/java-src/reitit/Trie.java index b7af4c1f..6a7b6881 100644 --- a/modules/reitit-core/java-src/reitit/Trie.java +++ b/modules/reitit-core/java-src/reitit/Trie.java @@ -113,16 +113,19 @@ public class Trie { } static final class DataMatcher implements Matcher { - private final Match match; + + private final IPersistentMap params; + private final Object data; DataMatcher(IPersistentMap params, Object data) { - this.match = new Match(params, data); + this.params = params; + this.data = data; } @Override public Match match(int i, int max, char[] path) { if (i == max) { - return match; + return new Match(params, data); } return null; } @@ -139,7 +142,7 @@ public class Trie { @Override public String toString() { - return (match.data != null ? match.data.toString() : "nil"); + return (data != null ? data.toString() : "nil"); } }