diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/parser/Parser.java | 14 |
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 -> |
