aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language/src/main/java/tools/refinery/language/parser/antlr/IdentifierTokenProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/language/src/main/java/tools/refinery/language/parser/antlr/IdentifierTokenProvider.java')
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/parser/antlr/IdentifierTokenProvider.java25
1 files changed, 12 insertions, 13 deletions
diff --git a/subprojects/language/src/main/java/tools/refinery/language/parser/antlr/IdentifierTokenProvider.java b/subprojects/language/src/main/java/tools/refinery/language/parser/antlr/IdentifierTokenProvider.java
index 306a86fc..0e19357f 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/parser/antlr/IdentifierTokenProvider.java
+++ b/subprojects/language/src/main/java/tools/refinery/language/parser/antlr/IdentifierTokenProvider.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/> 2 * SPDX-FileCopyrightText: 2021-2024 The Refinery Authors <https://refinery.tools/>
3 * 3 *
4 * SPDX-License-Identifier: EPL-2.0 4 * SPDX-License-Identifier: EPL-2.0
5 */ 5 */
@@ -59,7 +59,7 @@ public class IdentifierTokenProvider {
59 59
60 private void createValueToTokenIdMap() { 60 private void createValueToTokenIdMap() {
61 var tokenIdToValueMap = tokenDefProvider.getTokenDefMap(); 61 var tokenIdToValueMap = tokenDefProvider.getTokenDefMap();
62 valueToTokenIdMap = new HashMap<>(tokenIdToValueMap.size()); 62 valueToTokenIdMap = HashMap.newHashMap(tokenIdToValueMap.size());
63 for (var entry : tokenIdToValueMap.entrySet()) { 63 for (var entry : tokenIdToValueMap.entrySet()) {
64 valueToTokenIdMap.put(entry.getValue(), entry.getKey()); 64 valueToTokenIdMap.put(entry.getValue(), entry.getKey());
65 } 65 }
@@ -74,17 +74,16 @@ public class IdentifierTokenProvider {
74 } 74 }
75 75
76 private void collectIdentifierTokensFromElement(AbstractElement element) { 76 private void collectIdentifierTokensFromElement(AbstractElement element) {
77 if (element instanceof Alternatives alternatives) { 77 switch (element) {
78 for (var alternative : alternatives.getElements()) { 78 case Alternatives alternatives -> {
79 collectIdentifierTokensFromElement(alternative); 79 for (var alternative : alternatives.getElements()) {
80 } 80 collectIdentifierTokensFromElement(alternative);
81 } else if (element instanceof RuleCall ruleCall) { 81 }
82 collectIdentifierTokensFromRule(ruleCall.getRule()); 82 }
83 } else if (element instanceof Keyword keyword) { 83 case RuleCall ruleCall -> collectIdentifierTokensFromRule(ruleCall.getRule());
84 collectToken("'" + keyword.getValue() + "'"); 84 case Keyword keyword -> collectToken("'" + keyword.getValue() + "'");
85 } else { 85 default -> throw new IllegalArgumentException("Unknown Xtext grammar element: " + element);
86 throw new IllegalArgumentException("Unknown Xtext grammar element: " + element); 86 }
87 }
88 } 87 }
89 88
90 private void collectToken(String value) { 89 private void collectToken(String value) {