aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/parser/Parser.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java
index fcc92d99..9a108e9b 100644
--- a/src/main/java/org/shedlang/compiler/parser/Parser.java
+++ b/src/main/java/org/shedlang/compiler/parser/Parser.java
@@ -457,11 +457,7 @@ public class Parser {
tokens.skip(TokenType.KEYWORD_IMPORT);
- var namespaceNameParts = parseOneOrMoreNoTrailingSeparator(
- () -> tokens.nextValue(TokenType.IDENTIFIER),
- () -> tokens.trySkip(TokenType.SYMBOL_FORWARD_SLASH)
- );
- var namespaceName = new NamespaceName(namespaceNameParts);
+ var namespaceName = parseNamespaceName(tokens);
tokens.skip(TokenType.SYMBOL_SEMICOLON);
@@ -536,6 +532,14 @@ public class Parser {
}
}
+ public static NamespaceName parseNamespaceName(TokenIterator<TokenType> tokens) {
+ var namespaceNameParts = parseOneOrMoreNoTrailingSeparator(
+ () -> tokens.nextValue(TokenType.IDENTIFIER),
+ () -> tokens.trySkip(TokenType.SYMBOL_FORWARD_SLASH)
+ );
+ return new NamespaceName(namespaceNameParts);
+ }
+
static UntypedNamespaceStatementNode parseNamespaceStatement(TokenIterator<TokenType> tokens) {
return switch (tokens.peek().tokenType()) {
case KEYWORD_FUN ->