From 759f46677410381abb9e0f115a61bb5e2f23b372 Mon Sep 17 00:00:00 2001 From: Huy-DNA Date: Mon, 23 Sep 2024 12:19:26 +0700 Subject: [PATCH 1/2] fix: include dummy-node in markInvalidNode --- packages/dbml-parse/src/lib/parser/utils.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/dbml-parse/src/lib/parser/utils.ts b/packages/dbml-parse/src/lib/parser/utils.ts index 5c80284f2..a1ef4da10 100644 --- a/packages/dbml-parse/src/lib/parser/utils.ts +++ b/packages/dbml-parse/src/lib/parser/utils.ts @@ -8,6 +8,7 @@ import { AttributeNode, BlockExpressionNode, CallExpressionNode, + DummyNode, ElementDeclarationNode, ExpressionNode, FunctionApplicationNode, @@ -167,7 +168,7 @@ function markInvalidNode(node: SyntaxNode) { markInvalid(node.literal); } else if (node instanceof GroupExpressionNode) { throw new Error('This case is handled by the TupleExpressionNode case'); - } else { + } else if (!(node instanceof DummyNode)) { throw new Error('Unreachable case in markInvalidNode'); } } From 198aaf14a05d5367999a0e603643e8a744ecfc37 Mon Sep 17 00:00:00 2001 From: Huy-DNA Date: Mon, 23 Sep 2024 12:36:20 +0700 Subject: [PATCH 2/2] fix: include DummyNode in getMemberChain --- packages/dbml-parse/src/lib/parser/utils.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/dbml-parse/src/lib/parser/utils.ts b/packages/dbml-parse/src/lib/parser/utils.ts index a1ef4da10..c313f9f43 100644 --- a/packages/dbml-parse/src/lib/parser/utils.ts +++ b/packages/dbml-parse/src/lib/parser/utils.ts @@ -271,10 +271,15 @@ export function getMemberChain(node: SyntaxNode): Readonly<(SyntaxNode | SyntaxT ) } + if (node instanceof DummyNode) { + return []; + } + if (node instanceof GroupExpressionNode) { throw new Error('This case is already handled by TupleExpressionNode'); } + throw new Error('Unreachable - no other possible cases'); }