From dfa43d2c3ea587e8d816d750cfa7214c6a2eb1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Tue, 19 May 2026 21:19:43 +0200 Subject: Fix parsing after tag declaration --- src/Parser.hs | 1 + test/asset/parser/tags.et | 10 ++++++++++ test/script/parser.et | 3 +++ 3 files changed, 14 insertions(+) create mode 100644 test/asset/parser/tags.et diff --git a/src/Parser.hs b/src/Parser.hs index 619543f..5ad1b1a 100644 --- a/src/Parser.hs +++ b/src/Parser.hs @@ -153,6 +153,7 @@ parseTag _ = label "tag definition" $ do cmn <- gets testCurrentModuleName let expr = SomeExpr $ Pure $ Tag cmn name modify $ \s -> s { testVars = ( name, ( GlobalVarName cmn name, someExprType expr )) : testVars s } + scn return ( name, expr ) parseExport :: TestParser [ Toplevel ] diff --git a/test/asset/parser/tags.et b/test/asset/parser/tags.et new file mode 100644 index 0000000..178295f --- /dev/null +++ b/test/asset/parser/tags.et @@ -0,0 +1,10 @@ +tag SomeTag + +tag OtherTag + +test First: + tag: SomeTag + tag: OtherTag + let x = 1 + local: + let y = 1 diff --git a/test/script/parser.et b/test/script/parser.et index 1a00bc8..908431e 100644 --- a/test/script/parser.et +++ b/test/script/parser.et @@ -17,3 +17,6 @@ test Parser: send "load ${scripts.path}/function-fail.et" expect /load-failed parse-error/ + + send "load ${scripts.path}/tags.et" + expect /load-done/ -- cgit v1.2.3