diff --git a/tests/parsing/errors/expressions/__snapshots__/parse.spec.js.snap b/tests/parsing/errors/expressions/__snapshots__/parse.spec.js.snap index dcf71eb1..b8adcc09 100644 --- a/tests/parsing/errors/expressions/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/errors/expressions/__snapshots__/parse.spec.js.snap @@ -8,8 +8,7 @@ let x = ((let a = 1 in let b = 2 in fun pattern -> (\\"test\\" : int)) =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/ambiguousArrow.js:1:9-21 - + parsing/errors/expressions/ambiguousArrow.js:1:9-21 1 │ let a = b:int => \\"hi\\" 2 │ 3 │ let x = { @@ -20,8 +19,7 @@ let x = ((let a = 1 in let b = 2 in fun pattern -> (\\"test\\" : int)) Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/ambiguousArrow.js:6:3-23 - + parsing/errors/expressions/ambiguousArrow.js:6:3-23 4 │ let a = 1 5 │ let b = 2 6 │ a + b : int => \\"test\\" @@ -43,8 +41,7 @@ let xs = x.map (fun key -> [|key;(predicates.(key))|]) =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/array.js:2:44 - + parsing/errors/expressions/array.js:2:44 1 │ // missing ] before ) 2 │ let xs = x.map(key => [key, predicates[key]) 3 │ @@ -63,8 +60,7 @@ exports[`arrow.js 1`] = ` =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/arrow.js:1:52 - + parsing/errors/expressions/arrow.js:1:52 1 │ Object.keys(providers).reduce((elements, providerId] => { 2 │ let x = 1 3 │ let b = 2 @@ -102,8 +98,7 @@ let pipeline = =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/block.js:14:4-15:1 - + parsing/errors/expressions/block.js:14:4-15:1 12 │ 13 │ thisId === id 14 │ } @@ -114,8 +109,7 @@ let pipeline = Did you forget a \`)\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/block.js:18:25-19:1 - + parsing/errors/expressions/block.js:18:25-19:1 16 │ 17 │ let x = { 18 │ loop(0, Nil->push(doc) @@ -126,8 +120,7 @@ let pipeline = Did you forget a \`)\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/block.js:22:11-23:1 - + parsing/errors/expressions/block.js:22:11-23:1 20 │ 21 │ switch stack { 22 │ | Empty => @@ -138,8 +131,7 @@ let pipeline = Looks like there might be an expression missing here Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/block.js:26:7-27:1 - + parsing/errors/expressions/block.js:26:7-27:1 24 │ | Join(doc1, doc2) => 25 │ buffer->Buffer.add_string(indentation) 26 │ loop( @@ -150,8 +142,7 @@ let pipeline = Did you forget a \`)\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/block.js:30:10-31:1 - + parsing/errors/expressions/block.js:30:10-31:1 28 │ 29 │ let pipeline = switch scheduler { 30 │ | Some => @@ -175,8 +166,7 @@ let () = ((let open Foo in let exception End in x ())[@ns.braces ]) =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/consecutive.res:1:23 - + parsing/errors/expressions/consecutive.res:1:23 1 │ let f = (a,b) => a + 3b; 2 │ 3 │ let f = (g, h) => { @@ -184,8 +174,7 @@ let () = ((let open Foo in let exception End in x ())[@ns.braces ]) consecutive statements on a line must be separated by ';' or a newline Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/consecutive.res:4:7 - + parsing/errors/expressions/consecutive.res:4:7 2 │ 3 │ let f = (g, h) => { 4 │ a + 3b @@ -195,8 +184,7 @@ let () = ((let open Foo in let exception End in x ())[@ns.braces ]) consecutive expressions on a line must be separated by ';' or a newline Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/consecutive.res:8:16-27 - + parsing/errors/expressions/consecutive.res:8:16-27 6 │ 7 │ let () = { 8 │ sideEffect1() sideEffect2() @@ -206,8 +194,7 @@ let () = ((let open Foo in let exception End in x ())[@ns.braces ]) consecutive expressions on a line must be separated by ';' or a newline Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/consecutive.res:12:11-20 - + parsing/errors/expressions/consecutive.res:12:11-20 10 │ 11 │ let () = { 12 │ open Foo exception End @@ -227,8 +214,7 @@ let f a b = ((())[@ns.braces ]) =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/emptyBlock.js:1:10 - + parsing/errors/expressions/emptyBlock.js:1:10 1 │ let x = {} 2 │ 3 │ let f = (a, b) => {} @@ -236,8 +222,7 @@ let f a b = ((())[@ns.braces ]) This let-binding misses an expression Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/emptyBlock.js:3:20 - + parsing/errors/expressions/emptyBlock.js:3:20 1 │ let x = {} 2 │ 3 │ let f = (a, b) => {} @@ -255,8 +240,7 @@ exports[`if.js 1`] = ` =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/if.js:2:11-3:5 - + parsing/errors/expressions/if.js:2:11-3:5 1 │ // missing brace below 2 │ if (match) 3 │ let a = 1 @@ -281,8 +265,7 @@ exports[`ifLet.res 1`] = ` =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/ifLet.res:1:1-3:1 - + parsing/errors/expressions/ifLet.res:1:1-3:1 1 │ if let Some(x) = result { 2 │ Js.log(\\"The sky is blue\\") 3 │ } @@ -298,8 +281,7 @@ switch result { Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/ifLet.res:7:8-11:1 - + parsing/errors/expressions/ifLet.res:7:8-11:1 5 │ if let Error(x) = result { 6 │ Js.log(\\"The sky is red\\") 7 │ } else if let Ok(y) = result { @@ -332,8 +314,7 @@ module LicenseList = struct end =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/implementation.res:7:1 - + parsing/errors/expressions/implementation.res:7:1 5 │ } 6 │ } 7 │ } @@ -352,8 +333,7 @@ let x = ([%rescript.exprhole ]) + 1 =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/misc.js:1:9 - + parsing/errors/expressions/misc.js:1:9 1 │ let x = _ + 1 2 │ @@ -371,8 +351,7 @@ let record = { field = ([%rescript.exprhole ]) } =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/record.js:2:10-3:7 - + parsing/errors/expressions/record.js:2:10-3:7 1 │ let newWrapper = { 2 │ updateF 3 │ value: f(xWrapper.currentValue), @@ -382,8 +361,7 @@ let record = { field = ([%rescript.exprhole ]) } Did you forget a \`,\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/record.js:8:10-18 - + parsing/errors/expressions/record.js:8:10-18 6 │ 7 │ let newWrapper = { 8 │ updateF updateF2 @@ -393,8 +371,7 @@ let record = { field = ([%rescript.exprhole ]) } Did you forget a \`:\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/record.js:13:9-17:0 - + parsing/errors/expressions/record.js:13:9-17:0 11 │ 12 │ let record = { 13 │ field: @@ -417,8 +394,7 @@ exports[`setField.js 1`] = ` =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/setField.js:4:30-5:1 - + parsing/errors/expressions/setField.js:4:30-5:1 2 │ let a = 1 3 │ // notice missing expression after = 4 │ m.left.compatibleTypeArgs = @@ -438,8 +414,7 @@ exports[`taggedTemplateLiterals.js 1`] = ` =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/taggedTemplateLiterals.js:1:1-5 - + parsing/errors/expressions/taggedTemplateLiterals.js:1:1-5 1 │ foo()\`null\` 2 │ @@ -455,8 +430,7 @@ let parsedPayload = try Js.Json.parseExn response with | _ -> Js.Json.null =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/try.js:2:37-38 - + parsing/errors/expressions/try.js:2:37-38 1 ┆ let parsedPayload = 2 ┆ try (Js.Json.parseExn(response)) { 3 ┆ | _ => Js.Json.null @@ -475,8 +449,7 @@ let x = (\\"hi\\" : string) =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/unexpectedConstraint.js:4:3-13 - + parsing/errors/expressions/unexpectedConstraint.js:4:3-13 2 │ let a = 1 3 │ let b = 2 4 │ a + b : int @@ -488,8 +461,7 @@ let x = (\\"hi\\" : string) Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/expressions/unexpectedConstraint.js:7:9-20 - + parsing/errors/expressions/unexpectedConstraint.js:7:9-20 5 │ } 6 │ 7 │ let x = \\"hi\\": string diff --git a/tests/parsing/errors/other/__snapshots__/parse.spec.js.snap b/tests/parsing/errors/other/__snapshots__/parse.spec.js.snap index 441395f8..e074210d 100644 --- a/tests/parsing/errors/other/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/errors/other/__snapshots__/parse.spec.js.snap @@ -6,8 +6,7 @@ exports[`patternMatching.js 1`] = ` =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/other/patternMatching.js:1:14-2:1 - + parsing/errors/other/patternMatching.js:1:14-2:1 1 │ switch expr { 2 │ } 3 │ @@ -31,8 +30,7 @@ type nonrec 'extraInfo student = =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/other/regionMissingComma.res:2:31 - + parsing/errors/other/regionMissingComma.res:2:31 1 │ external make: ( 2 │ ~style: ReactDOMRe.Style.t=?. 3 │ ~image: bool=?, @@ -41,8 +39,7 @@ type nonrec 'extraInfo student = Did you forget a \`,\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/other/regionMissingComma.res:8:11-9:11 - + parsing/errors/other/regionMissingComma.res:8:11-9:11 6 │ type student<'extraInfo> = { 7 │ name: string, 8 │ age: int @@ -67,8 +64,7 @@ let x::y = myList =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/other/spread.js:1:12-14 - + parsing/errors/other/spread.js:1:12-14 1 │ let arr = [...x, ...y] 2 │ let [...arr, _] = [1, 2, 3] 3 │ @@ -76,8 +72,7 @@ let x::y = myList Arrays can't use the \`...\` spread currently. Please use \`concat\` or other Array helpers. Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/other/spread.js:2:6-8 - + parsing/errors/other/spread.js:2:6-8 1 │ let arr = [...x, ...y] 2 │ let [...arr, _] = [1, 2, 3] 3 │ @@ -88,8 +83,7 @@ Explanation: such spread would create a subarray; out of performance concern, ou Solution: if it's to validate the first few elements, use a \`when\` clause + Array size check + \`get\` checks on the current pattern. If it's to obtain a subarray, use \`Array.sub\` or \`Belt.Array.slice\`. Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/other/spread.js:4:21-23 - + parsing/errors/other/spread.js:4:21-23 2 │ let [...arr, _] = [1, 2, 3] 3 │ 4 │ let record = {...x, ...y} @@ -100,8 +94,7 @@ Solution: if it's to validate the first few elements, use a \`when\` clause + Ar Explanation: since records have a known, fixed shape, a spread like \`{a, ...b}\` wouldn't make sense, as \`b\` would override every field of \`a\` anyway. Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/other/spread.js:5:15-18 - + parsing/errors/other/spread.js:5:15-18 3 │ 4 │ let record = {...x, ...y} 5 │ let {...x, ...y} = myRecord @@ -113,8 +106,7 @@ Explanation: you can't collect a subset of a record's field into its own record, Solution: you need to pull out each field you want explicitly. Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/other/spread.js:8:13-22 - + parsing/errors/other/spread.js:8:13-22 6 │ 7 │ let myList = list{...x, ...y} 8 │ let list{...x, ...y} = myList diff --git a/tests/parsing/errors/pattern/__snapshots__/parse.spec.js.snap b/tests/parsing/errors/pattern/__snapshots__/parse.spec.js.snap index a28b3555..626822b0 100644 --- a/tests/parsing/errors/pattern/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/errors/pattern/__snapshots__/parse.spec.js.snap @@ -8,8 +8,7 @@ let 4 = for [%rescript.patternhole ] = 0 to 10 do Js.log \\"for\\" done =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/pattern/missing.res:1:5 - + parsing/errors/pattern/missing.res:1:5 1 │ let = 2 2 │ let = 4 3 │ @@ -17,8 +16,7 @@ let 4 = for [%rescript.patternhole ] = 0 to 10 do Js.log \\"for\\" done I was expecting a name for this let-binding. Example: \`let message = \\"hello\\"\` Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/pattern/missing.res:2:5 - + parsing/errors/pattern/missing.res:2:5 1 │ let = 2 2 │ let = 4 3 │ @@ -27,8 +25,7 @@ let 4 = for [%rescript.patternhole ] = 0 to 10 do Js.log \\"for\\" done I was expecting a name for this let-binding. Example: \`let message = \\"hello\\"\` Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/pattern/missing.res:4:5-6 - + parsing/errors/pattern/missing.res:4:5-6 2 │ let = 4 3 │ 4 │ for in 0 to 10 { @@ -38,8 +35,7 @@ let 4 = for [%rescript.patternhole ] = 0 to 10 do Js.log \\"for\\" done A for-loop has the following form: \`for i in 0 to 10\`. Did you forget to supply a name before \`in\`? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/pattern/missing.res:9:3-4 - + parsing/errors/pattern/missing.res:9:3-4 7 │ 8 │ switch x { 9 │ | => () diff --git a/tests/parsing/errors/scanner/__snapshots__/parse.spec.js.snap b/tests/parsing/errors/scanner/__snapshots__/parse.spec.js.snap index cf757f8e..00cc0d37 100644 --- a/tests/parsing/errors/scanner/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/errors/scanner/__snapshots__/parse.spec.js.snap @@ -7,8 +7,7 @@ let x = \\"\\\\\\\\0AAA\\" =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/scanner/escapeSequence.js:1:10-11 - + parsing/errors/scanner/escapeSequence.js:1:10-11 1 │ let x = \\"\\\\0\\" 2 │ 3 │ let x = \\"\\\\oAAA\\" @@ -16,8 +15,7 @@ let x = \\"\\\\\\\\0AAA\\" unknown escape sequence Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/scanner/escapeSequence.js:3:10-11 - + parsing/errors/scanner/escapeSequence.js:3:10-11 1 │ let x = \\"\\\\0\\" 2 │ 3 │ let x = \\"\\\\oAAA\\" @@ -36,8 +34,7 @@ let newX = x +. (newVelocity *. secondPerFrame) =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/scanner/oldDerefOp.js:1:50 - + parsing/errors/scanner/oldDerefOp.js:1:50 1 │ let newVelocity = velocity +. a *. secondPerFrame^; 2 │ let newX = x +. newVelocity *. secondPerFrame^; 3 │ @@ -46,8 +43,7 @@ let newX = x +. (newVelocity *. secondPerFrame) If you're trying to deref an expression, use \`foo.contents\` instead. Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/scanner/oldDerefOp.js:2:46 - + parsing/errors/scanner/oldDerefOp.js:2:46 1 │ let newVelocity = velocity +. a *. secondPerFrame^; 2 │ let newX = x +. newVelocity *. secondPerFrame^; 3 │ @@ -65,8 +61,7 @@ exports[`unclosedComment.js 1`] = ` =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/scanner/unclosedComment.js:1:3-3:0 - + parsing/errors/scanner/unclosedComment.js:1:3-3:0 1 │ /* eof 2 │ * reached 3 │ @@ -83,8 +78,7 @@ let z = \\"eof\\" =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/scanner/unclosedString.js:1:10-2:0 - + parsing/errors/scanner/unclosedString.js:1:10-2:0 1 │ let z = \\"eof 2 │ diff --git a/tests/parsing/errors/signature/__snapshots__/parse.spec.js.snap b/tests/parsing/errors/signature/__snapshots__/parse.spec.js.snap index c99d534b..37dbb4e8 100644 --- a/tests/parsing/errors/signature/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/errors/signature/__snapshots__/parse.spec.js.snap @@ -7,8 +7,7 @@ val y : int =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/signature/closingBraces.resi:3:1 - + parsing/errors/signature/closingBraces.resi:3:1 1 │ let x: int 2 │ 3 │ }}} @@ -30,8 +29,7 @@ val z2 : float[@@genType ] =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/signature/consecutive.resi:1:11-14 - + parsing/errors/signature/consecutive.resi:1:11-14 1 │ let x: int let y: float 2 │ 3 │ export z1: int export z2: float @@ -39,8 +37,7 @@ val z2 : float[@@genType ] consecutive specifications on a line must be separated by ';' or a newline Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/signature/consecutive.resi:3:15-21 - + parsing/errors/signature/consecutive.resi:3:15-21 1 │ let x: int let y: float 2 │ 3 │ export z1: int export z2: float diff --git a/tests/parsing/errors/structure/__snapshots__/parse.spec.js.snap b/tests/parsing/errors/structure/__snapshots__/parse.spec.js.snap index 4807627e..30c6c337 100644 --- a/tests/parsing/errors/structure/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/errors/structure/__snapshots__/parse.spec.js.snap @@ -7,8 +7,7 @@ let y = 2 =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/closingBraces.res:3:1 - + parsing/errors/structure/closingBraces.res:3:1 1 │ let x = 1 2 │ 3 │ }}} @@ -28,8 +27,7 @@ exception Bar =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/consecutive.res:1:9-18 - + parsing/errors/structure/consecutive.res:1:9-18 1 │ open Foo exception Bar 2 │ @@ -46,8 +44,7 @@ module C = struct module T = (Fun)(struct ;;foo (a + c) (b + d) end) end =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/gh16A.res:6:1 - + parsing/errors/structure/gh16A.res:6:1 4 │ }) 5 │ } 6 │ ) @@ -88,8 +85,7 @@ module ClientSet = =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/gh16B.res:19:2 - + parsing/errors/structure/gh16B.res:19:2 17 │ 18 │ 19 │ })))))))))))))))))))))))))))))); // this \\")\\" here, this can even be \\") @@ -118,8 +114,7 @@ let (x : int1) = (int2 = 3 :> int3) =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBinding.js:2:18-20 - + parsing/errors/structure/letBinding.js:2:18-20 1 │ // missing = 2 │ let rightResource ur.resources.find( 3 │ r => r.account_id === connection.left.account.id @@ -128,8 +123,7 @@ let (x : int1) = (int2 = 3 :> int3) Did you forget a \`=\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBinding.js:8:12-13 - + parsing/errors/structure/letBinding.js:8:12-13 6 │ let x = { 7 │ // missing = 8 │ let field p->parseFieldDeclaration @@ -139,8 +133,7 @@ let (x : int1) = (int2 = 3 :> int3) Did you forget a \`=\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBinding.js:14:19-26 - + parsing/errors/structure/letBinding.js:14:19-26 12 │ let t = { 13 │ // missing = 14 │ let (_, _, token) scanner->scan @@ -150,8 +143,7 @@ let (x : int1) = (int2 = 3 :> int3) Did you forget a \`=\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBinding.js:18:39-20:3 - + parsing/errors/structure/letBinding.js:18:39-20:3 16 │ } 17 │ 18 │ let keyTable: Belt.Map.String.t = @@ -163,8 +155,7 @@ let (x : int1) = (int2 = 3 :> int3) This let-binding misses an expression Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBinding.js:20:10-23:3 - + parsing/errors/structure/letBinding.js:20:10-23:3 18 │ let keyTable: Belt.Map.String.t = 19 │ 20 │ let foo = @@ -177,8 +168,7 @@ let (x : int1) = (int2 = 3 :> int3) This let-binding misses an expression Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBinding.js:23:11-13 - + parsing/errors/structure/letBinding.js:23:11-13 21 │ 22 │ // no magic in the syntax 23 │ let x: int :> string = y @@ -188,8 +178,7 @@ let (x : int1) = (int2 = 3 :> int3) Did you forget a \`=\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBinding.js:26:6-8 - + parsing/errors/structure/letBinding.js:26:6-8 24 │ 25 │ // no magic in the syntax 26 │ let x :> string = y @@ -199,8 +188,7 @@ let (x : int1) = (int2 = 3 :> int3) Did you forget a \`=\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBinding.js:29:13-15 - + parsing/errors/structure/letBinding.js:29:13-15 27 │ 28 │ // no magic in the syntax 29 │ let x : int1 :> int2 = 3 :> int3 @@ -219,8 +207,7 @@ let [%rescript.patternhole ] = 3 =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBindingPatternKeyword.js:1:5-8 - + parsing/errors/structure/letBindingPatternKeyword.js:1:5-8 1 │ let open = 1 2 │ let to = 3 3 │ @@ -228,8 +215,7 @@ let [%rescript.patternhole ] = 3 \`open\` is a reserved keyword. Keywords need to be escaped: \\\\\\"open\\" Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/structure/letBindingPatternKeyword.js:2:5-6 - + parsing/errors/structure/letBindingPatternKeyword.js:2:5-6 1 │ let open = 1 2 │ let to = 3 3 │ diff --git a/tests/parsing/errors/typeDef/__snapshots__/parse.spec.js.snap b/tests/parsing/errors/typeDef/__snapshots__/parse.spec.js.snap index c903a8f6..42e5fe26 100644 --- a/tests/parsing/errors/typeDef/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/errors/typeDef/__snapshots__/parse.spec.js.snap @@ -9,8 +9,7 @@ type nonrec 'a node = =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/emptyInlineRecord.res:3:10-11 - + parsing/errors/typeDef/emptyInlineRecord.res:3:10-11 1 │ type node<'a> = 2 │ | Nil 3 │ | Node({}) @@ -29,8 +28,7 @@ type nonrec record = { =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/emptyRecord.js:1:15-16 - + parsing/errors/typeDef/emptyRecord.js:1:15-16 1 │ type record = {} 2 │ @@ -57,8 +55,7 @@ let make (props : < handleClick: Click.t -> unit ;value: string > Js.t) = =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/inlineRecord.res:6:9-15 - + parsing/errors/typeDef/inlineRecord.res:6:9-15 4 ┆ name: string, 5 ┆ reportCard: { 6 ┆ passing: bool, @@ -68,8 +65,7 @@ let make (props : < handleClick: Click.t -> unit ;value: string > Js.t) = An inline record type declaration is only allowed in a variant constructor's declaration Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/inlineRecord.res:14:5-10 - + parsing/errors/typeDef/inlineRecord.res:14:5-10 12 ┆ name: string, 13 ┆ address: { 14 ┆ street: string, @@ -79,8 +75,7 @@ let make (props : < handleClick: Click.t -> unit ;value: string > Js.t) = An inline record type declaration is only allowed in a variant constructor's declaration Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/inlineRecord.res:19:21-31 - + parsing/errors/typeDef/inlineRecord.res:19:21-31 17 │ } 18 │ 19 │ let make = (props: {handleClick: Click.t => unit, value: string}) => r @@ -99,8 +94,7 @@ type nonrec draw = stroke:pencil -> unit =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/namedParameters.js:1:15-20 - + parsing/errors/typeDef/namedParameters.js:1:15-20 1 │ type draw = (stroke: pencil) => unit 2 │ @@ -119,8 +113,7 @@ type t = [ [%rescript.typehole ] | [%rescript.typehole ]] =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/polyvariant.js:1:13 - + parsing/errors/typeDef/polyvariant.js:1:13 1 │ type t = [< ] 2 │ 3 │ type t = [ s ] @@ -128,8 +121,7 @@ type t = [ [%rescript.typehole ] | [%rescript.typehole ]] I'm not sure what to parse here when looking at \\"]\\". Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/polyvariant.js:3:13-14 - + parsing/errors/typeDef/polyvariant.js:3:13-14 1 │ type t = [< ] 2 │ 3 │ type t = [ s ] @@ -139,8 +131,7 @@ type t = [ [%rescript.typehole ] | [%rescript.typehole ]] Did you forget a \`|\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/polyvariant.js:7:15 - + parsing/errors/typeDef/polyvariant.js:7:15 5 │ type z = [< | #A | #B > ] 6 │ 7 │ type rec t = [] @@ -161,8 +152,7 @@ type nonrec observation = { =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/record.res:4:1 - + parsing/errors/typeDef/record.res:4:1 2 │ observed: int, 3 │ observer: 4 │ } @@ -183,8 +173,7 @@ type nonrec state = [%rescript.typehole ] =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/typeDef.js:1:15-2:3 - + parsing/errors/typeDef/typeDef.js:1:15-2:3 1 │ type rec stack 2 │ | Empty 3 │ @@ -193,8 +182,7 @@ type nonrec state = [%rescript.typehole ] Did you forget a \`=\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/typeDef.js:8:1-4 - + parsing/errors/typeDef/typeDef.js:8:1-4 6 │ 7 │ // missing type 8 │ type state = @@ -203,8 +191,7 @@ type nonrec state = [%rescript.typehole ] Missing a type here Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/typeDef.js:9:1 - + parsing/errors/typeDef/typeDef.js:9:1 7 │ // missing type 8 │ type state = 9 │ @@ -238,8 +225,7 @@ type nonrec ('from, 'foo) derivedNode = =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/typeParams.js:1:10-13 - + parsing/errors/typeDef/typeParams.js:1:10-13 1 │ type node('a) = { 2 │ _value: Js.Nullable.value<'a> 3 │ } @@ -249,8 +235,7 @@ type nonrec ('from, 'foo) derivedNode = Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/typeParams.js:5:26-27 - + parsing/errors/typeDef/typeParams.js:5:26-27 3 │ } 4 │ 5 │ type derivedNode<'from, 'to> = { @@ -260,8 +245,7 @@ type nonrec ('from, 'foo) derivedNode = \`to\` is a reserved keyword. Keywords need to be escaped: \\\\\\"to\\" Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/typeParams.js:10:26 - + parsing/errors/typeDef/typeParams.js:10:26 8 │ } 9 │ 10 │ type derivedNode<'from, '+> = { @@ -271,8 +255,7 @@ type nonrec ('from, 'foo) derivedNode = A type param consists of a singlequote followed by a name like \`'a\` or \`'A\` Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/typeParams.js:15:26 - + parsing/errors/typeDef/typeParams.js:15:26 13 │ } 14 │ 15 │ type derivedNode<'from, '_> = { @@ -282,8 +265,7 @@ type nonrec ('from, 'foo) derivedNode = A type param consists of a singlequote followed by a name like \`'a\` or \`'A\` Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typeDef/typeParams.js:21:25-27 - + parsing/errors/typeDef/typeParams.js:21:25-27 19 │ 20 │ 21 │ type derivedNode<'from, foo> = { diff --git a/tests/parsing/errors/typexpr/__snapshots__/parse.spec.js.snap b/tests/parsing/errors/typexpr/__snapshots__/parse.spec.js.snap index 6188b941..8fab6840 100644 --- a/tests/parsing/errors/typexpr/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/errors/typexpr/__snapshots__/parse.spec.js.snap @@ -20,8 +20,7 @@ module Error3 = =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/arrow.js:2:22-24 - + parsing/errors/typexpr/arrow.js:2:22-24 1 │ // notice usage of -> instead of => 2 │ external add_nat: nat -> int = \\"add_nat_bytecode\\" \\"add_nat_native\\" 3 │ @@ -30,8 +29,7 @@ module Error3 = Did you forget a \`=>\` here? Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/arrow.js:7:27-30 - + parsing/errors/typexpr/arrow.js:7:27-30 5 │ type observation ={ 6 │ observed: int, 7 │ onStep: (~currentValue ) => unit @@ -41,8 +39,7 @@ module Error3 = Did you forget a \`:\` here? It signals the start of a type Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/arrow.js:14:26-29 - + parsing/errors/typexpr/arrow.js:14:26-29 12 │ type observation ={ 13 │ observed: int, 14 │ onStep: ~currentValue => unit @@ -79,8 +76,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:2:8-3:13 - + parsing/errors/typexpr/bsObjSugar.js:2:8-3:13 1 │ type state = { 2 │ \\"url\\" 3 │ \\"protocols\\": array @@ -90,8 +86,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t Did you forget a \`:\` here? It signals the start of a type Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:7:14-8:13 - + parsing/errors/typexpr/bsObjSugar.js:7:14-8:13 5 │ 6 │ type state = { 7 │ @attr \\"url\\" @@ -102,8 +97,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t Did you forget a \`:\` here? It signals the start of a type Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:13:14-14:13 - + parsing/errors/typexpr/bsObjSugar.js:13:14-14:13 11 │ type state = { 12 │ \\"url\\": string, 13 │ \\"protocols\\" @@ -114,8 +108,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t Did you forget a \`:\` here? It signals the start of a type Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:19:14-20:1 - + parsing/errors/typexpr/bsObjSugar.js:19:14-20:1 17 │ type state = { 18 │ \\"url\\": string, 19 │ \\"protocols\\" @@ -126,8 +119,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t Did you forget a \`:\` here? It signals the start of a type Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:25:1 - + parsing/errors/typexpr/bsObjSugar.js:25:1 23 │ @bs.meth 24 │ \\"send\\": string => 25 │ } @@ -137,8 +129,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t I'm missing a type here Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:28:10 - + parsing/errors/typexpr/bsObjSugar.js:28:10 26 │ 27 │ type state = { 28 │ \\"age\\": , @@ -148,8 +139,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t I'm missing a type here Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:33:18 - + parsing/errors/typexpr/bsObjSugar.js:33:18 31 │ 32 │ type state = { 33 │ @bs.set \\"age\\": , @@ -159,8 +149,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t I'm missing a type here Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:37:25 - + parsing/errors/typexpr/bsObjSugar.js:37:25 35 │ } 36 │ 37 │ type state = {.. \\"age\\": } @@ -170,8 +159,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t I'm missing a type here Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:40:8-41:8 - + parsing/errors/typexpr/bsObjSugar.js:40:8-41:8 38 │ type state = { 39 │ .. 40 │ \\"age\\" @@ -182,8 +170,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t Did you forget a \`:\` here? It signals the start of a type Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:46:3-11 - + parsing/errors/typexpr/bsObjSugar.js:46:3-11 44 │ type websocket = { 45 │ \\"id\\": 46 │ \\"channel\\": channelTyp @@ -193,8 +180,7 @@ type nonrec websocket = < id: [%rescript.typehole ] > Js.t I'm missing a type here Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/bsObjSugar.js:50:7-51:0 - + parsing/errors/typexpr/bsObjSugar.js:50:7-51:0 48 │ 49 │ type websocket = { 50 │ \\"id\\" @@ -213,8 +199,7 @@ external printName : name:unit -> unit = \\"printName\\"[@@bs.module =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/garbage.res:2:28 - + parsing/errors/typexpr/garbage.res:2:28 1 │ @bs.module(\\"moduleName\\") 2 │ external printName: (~name:?, unit) => unit = \\"printName\\" 3 │ @@ -236,8 +221,7 @@ type nonrec t = int node option =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/typeConstructorArgs.js:2:28-31 - + parsing/errors/typexpr/typeConstructorArgs.js:2:28-31 1 │ type node<'a> = { 2 │ _value: Js.Nullable.value('a) 3 │ } @@ -248,8 +232,7 @@ type nonrec t = int node option Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/typeConstructorArgs.js:5:24-27 - + parsing/errors/typexpr/typeConstructorArgs.js:5:24-27 3 │ } 4 │ 5 │ type t<'a> = Belt.Map.t('a) @@ -261,8 +244,7 @@ type nonrec t = int node option Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/typeConstructorArgs.js:6:32-35 - + parsing/errors/typexpr/typeConstructorArgs.js:6:32-35 4 │ 5 │ type t<'a> = Belt.Map.t('a) 6 │ type t<'a> = private Belt.Map.t('a) @@ -274,8 +256,7 @@ type nonrec t = int node option Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/typeConstructorArgs.js:9:28 - + parsing/errors/typexpr/typeConstructorArgs.js:9:28 7 │ 8 │ type t = option<> 9 │ type t = option(>) @@ -294,8 +275,7 @@ type nonrec 'A x = 'let =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/typeVar.res:1:15 - + parsing/errors/typexpr/typeVar.res:1:15 1 │ type x<'A> = '_ 2 │ type x<'A> = 'let 3 │ @@ -303,8 +283,7 @@ type nonrec 'A x = 'let A type variable consists of a singlequote followed by a name like \`'a\` or \`'A\` Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/errors/typexpr/typeVar.res:2:15-17 - + parsing/errors/typexpr/typeVar.res:2:15-17 1 │ type x<'A> = '_ 2 │ type x<'A> = 'let 3 │ diff --git a/tests/parsing/infiniteLoops/__snapshots__/parse.spec.js.snap b/tests/parsing/infiniteLoops/__snapshots__/parse.spec.js.snap index 76fc4ce8..86a1dbdc 100644 --- a/tests/parsing/infiniteLoops/__snapshots__/parse.spec.js.snap +++ b/tests/parsing/infiniteLoops/__snapshots__/parse.spec.js.snap @@ -149,8 +149,7 @@ let removeNode rbt node = =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/infiniteLoops/equalAfterBinaryExpr.js:169:17 - + parsing/infiniteLoops/equalAfterBinaryExpr.js:169:17 167 ┆ if isLeaf(. successor) { 168 ┆ if rbt->root === Some(successor) { 169 ┆ rbt->root = None @@ -174,8 +173,7 @@ let (a : action) = AddUser \\"test\\" =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/infiniteLoops/jsxChildren.js:1:22 - + parsing/infiniteLoops/jsxChildren.js:1:22 1 │ type action = AddUser 2 │ 3 │ let a: action = AddUser(\\"test\\") @@ -183,8 +181,7 @@ let (a : action) = AddUser \\"test\\" consecutive statements on a line must be separated by ';' or a newline Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/infiniteLoops/jsxChildren.js:1:22-29 - + parsing/infiniteLoops/jsxChildren.js:1:22-29 1 │ type action = AddUser 2 │ 3 │ let a: action = AddUser(\\"test\\") @@ -592,8 +589,7 @@ include =====Errors============================================= Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/infiniteLoops/nonRecTypes.js:4:29-36 - + parsing/infiniteLoops/nonRecTypes.js:4:29-36 2 ┆ include ( 3 ┆ { 4 ┆ type t('value) = { @@ -605,8 +601,7 @@ include Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/infiniteLoops/nonRecTypes.js:19:45-51 - + parsing/infiniteLoops/nonRecTypes.js:19:45-51 17 ┆ ~size: int, 18 ┆ ~root: option(node('value)), 19 ┆ ~compare: Js.Internal.fn([ | \`Arity_2('value, 'value)], int) @@ -616,8 +611,7 @@ include consecutive statements on a line must be separated by ';' or a newline Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/infiniteLoops/nonRecTypes.js:67:26-68:3 - + parsing/infiniteLoops/nonRecTypes.js:67:26-68:3 65 │ }; 66 │ let has = (rbt, value) => _findNode(rbt, rootGet(rbt), value) !== None ; @@ -629,8 +623,7 @@ include I'm not sure what to parse here when looking at \\"let\\". Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/infiniteLoops/nonRecTypes.js:68:21-69:3 - + parsing/infiniteLoops/nonRecTypes.js:68:21-69:3 66 │ let has = (rbt, value) => _findNode(rbt, rootGet(rbt), value) !== None ; 67 │ let rec minNode = node => @@ -642,8 +635,7 @@ include I'm not sure what to parse here when looking at \\"let\\". Syntax error! - /Users/mvalcke/Development/syntax/tests/parsing/infiniteLoops/nonRecTypes.js:434:31-38 - + parsing/infiniteLoops/nonRecTypes.js:434:31-38 432 │ updateSum(Some(node), ~delta); 433 │ }; 434 │ type nonrec oldNewVisibleNodes('value) = { diff --git a/tests/runner.js b/tests/runner.js index bb9c5d89..1fa9c4b4 100644 --- a/tests/runner.js +++ b/tests/runner.js @@ -183,7 +183,7 @@ function printFile(filename) { machine-independent */ let makeReproducibleFilename = (txt) => { - return txt.replace(/( Syntax error!\n )(.+)( .+)\n/g, (match, intro, filepath, loc) => { + return txt.replace(/( Syntax error!\n )(.+)(:.+)\n/g, (match, intro, filepath, loc) => { return intro + path.relative(__dirname, filepath) + loc }) };