From 106fb323f45fa9a4292a625fc197e1e5b6bf82a0 Mon Sep 17 00:00:00 2001 From: Gabriel Nordeborn Date: Thu, 9 Mar 2023 20:40:54 +0100 Subject: [PATCH 1/2] add another broken parser case --- analysis/tests/src/BrokenParserCases.res | 4 +++ .../src/expected/BrokenParserCases.res.txt | 33 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/analysis/tests/src/BrokenParserCases.res b/analysis/tests/src/BrokenParserCases.res index c56a3d5aa..e22841b14 100644 --- a/analysis/tests/src/BrokenParserCases.res +++ b/analysis/tests/src/BrokenParserCases.res @@ -11,3 +11,7 @@ // let _ = switch x { | None | => None } // ^com +// The parser eats the tuple, and turns this into {role: age} +// let x = ({role: , age: 12}, 123) +// ^ast + diff --git a/analysis/tests/src/expected/BrokenParserCases.res.txt b/analysis/tests/src/expected/BrokenParserCases.res.txt index 0c558e994..958ae8a7c 100644 --- a/analysis/tests/src/expected/BrokenParserCases.res.txt +++ b/analysis/tests/src/expected/BrokenParserCases.res.txt @@ -22,3 +22,36 @@ ContextPath Value[None] Path None [] +Dump AST src/BrokenParserCases.res 14:18 + +Source: +// let x = ({role: , age: 12}, 123) +// ^ast + +<*>Pstr_value( + value: + Ppat_var(x) + expr: + <*>Pexp_record( + fields: + role: Pexp_ident:age + ) +) + +Dump AST src/BrokenParserCases.res 18:20 + +Source: +// switch x { | (23, )} +// ^ast + +<*>Pstr_eval( +<*>Pexp_match(Pexp_ident:x) + case 1: + pattern<*>: + <*>Ppat_tuple( + Ppat_constant(Pconst_integer(23)) + ) + expr: + Pexp_extension(%rescript.exprhole) +) + From f6912da87106544bba9381544864dc2cd9e65a71 Mon Sep 17 00:00:00 2001 From: Gabriel Nordeborn Date: Thu, 9 Mar 2023 20:59:14 +0100 Subject: [PATCH 2/2] fix test output --- analysis/tests/src/BrokenParserCases.res | 2 +- .../src/expected/BrokenParserCases.res.txt | 35 ++----------------- 2 files changed, 4 insertions(+), 33 deletions(-) diff --git a/analysis/tests/src/BrokenParserCases.res b/analysis/tests/src/BrokenParserCases.res index e22841b14..828eaa2e1 100644 --- a/analysis/tests/src/BrokenParserCases.res +++ b/analysis/tests/src/BrokenParserCases.res @@ -13,5 +13,5 @@ // The parser eats the tuple, and turns this into {role: age} // let x = ({role: , age: 12}, 123) -// ^ast +// ^com diff --git a/analysis/tests/src/expected/BrokenParserCases.res.txt b/analysis/tests/src/expected/BrokenParserCases.res.txt index 958ae8a7c..eec5fb491 100644 --- a/analysis/tests/src/expected/BrokenParserCases.res.txt +++ b/analysis/tests/src/expected/BrokenParserCases.res.txt @@ -22,36 +22,7 @@ ContextPath Value[None] Path None [] -Dump AST src/BrokenParserCases.res 14:18 - -Source: -// let x = ({role: , age: 12}, 123) -// ^ast - -<*>Pstr_value( - value: - Ppat_var(x) - expr: - <*>Pexp_record( - fields: - role: Pexp_ident:age - ) -) - -Dump AST src/BrokenParserCases.res 18:20 - -Source: -// switch x { | (23, )} -// ^ast - -<*>Pstr_eval( -<*>Pexp_match(Pexp_ident:x) - case 1: - pattern<*>: - <*>Ppat_tuple( - Ppat_constant(Pconst_integer(23)) - ) - expr: - Pexp_extension(%rescript.exprhole) -) +Complete src/BrokenParserCases.res 14:18 +posCursor:[14:18] posNoWhite:[14:17] Found expr:[14:12->14:28] +[]