diff --git a/src/res_core.ml b/src/res_core.ml index 9f804445..dc018ccb 100644 --- a/src/res_core.ml +++ b/src/res_core.ml @@ -2772,7 +2772,7 @@ and parseBracedOrRecordExpr p = Parser.expect Rbrace p; expr | _ -> - let constant = Ast_helper.Exp.constant ~loc:field.loc (Parsetree.Pconst_string(s, None)) in + let constant = Ast_helper.Exp.constant ~loc:field.loc (Parsetree.Pconst_string(s, Some("js"))) in let a = parsePrimaryExpr ~operand:constant p in let e = parseBinaryExpr ~a p 1 in let e = parseTernaryExpr e p in diff --git a/tests/parsing/errors/expressions/expected/letBinding.res.txt b/tests/parsing/errors/expressions/expected/letBinding.res.txt index 74a4dbbc..d391b9d6 100644 --- a/tests/parsing/errors/expressions/expected/letBinding.res.txt +++ b/tests/parsing/errors/expressions/expected/letBinding.res.txt @@ -84,5 +84,5 @@ let foo = true let foo = 2 let foo = f () let foo = ((2)[@ns.braces ]) -let foo = (("foo")[@ns.braces ]) +let foo = (({js|foo|js})[@ns.braces ]) let foo as x = () \ No newline at end of file diff --git a/tests/parsing/grammar/expressions/expected/bracedOrRecord.res.txt b/tests/parsing/grammar/expressions/expected/bracedOrRecord.res.txt index e5e65cbc..fa3d35e1 100644 --- a/tests/parsing/grammar/expressions/expected/bracedOrRecord.res.txt +++ b/tests/parsing/grammar/expressions/expected/bracedOrRecord.res.txt @@ -24,4 +24,5 @@ let e = (((fun x -> x + 1) |> sideEffect; logToAnalytics Shady.ml) let f = ((fun event -> (event.target).value)[@ns.braces ]) let f = ((fun event -> ((event.target).value : string))[@ns.braces ]) let x = ((let a = 1 in let b = 2 in a + b)[@ns.braces ]) -;;(([(("\n" |. React.string)[@ns.braces ])])[@JSX ]) \ No newline at end of file +;;(([(({js| +|js} |. React.string)[@ns.braces ])])[@JSX ]) \ No newline at end of file diff --git a/tests/parsing/grammar/expressions/expected/bsObject.res.txt b/tests/parsing/grammar/expressions/expected/bsObject.res.txt index c007f765..3460cfac 100644 --- a/tests/parsing/grammar/expressions/expected/bsObject.res.txt +++ b/tests/parsing/grammar/expressions/expected/bsObject.res.txt @@ -2,15 +2,16 @@ let x = [%obj { age = 30 }] let y = [%obj { age = 30 }] let y = [%obj { age = 30; name = {js|steve|js} }] let y = [%obj { age = 30; name = {js|steve|js} }] -let x = (("age")[@ns.braces ]) -let x = (("age".(0))[@ns.braces ]) -let x = (("age" |. Js.log)[@ns.braces ]) -let x = ((if "age" then true else false)[@ns.braces ][@ns.ternary ]) -let x = (("age" |. Js.log; (let foo = 1 in let bar = 2 in foo + bar)) +let x = (({js|age|js})[@ns.braces ]) +let x = (({js|age|js}.(0))[@ns.braces ]) +let x = (({js|age|js} |. Js.log)[@ns.braces ]) +let x = ((if {js|age|js} then true else false)[@ns.braces ][@ns.ternary ]) +let x = (({js|age|js} |. Js.log; (let foo = 1 in let bar = 2 in foo + bar)) [@ns.braces ]) let x = - ((((if "age" then true else false) + ((((if {js|age|js} then true else false) [@ns.ternary ]); (let foo = 1 in let bar = 2 in foo + bar)) [@ns.braces ]) -let x = (("age".(0); (let foo = 1 in let bar = 2 in foo + bar))[@ns.braces ]) \ No newline at end of file +let x = (({js|age|js}.(0); (let foo = 1 in let bar = 2 in foo + bar)) + [@ns.braces ]) \ No newline at end of file diff --git a/tests/parsing/grammar/expressions/expected/jsx.res.txt b/tests/parsing/grammar/expressions/expected/jsx.res.txt index 035598f7..e5d8f14c 100644 --- a/tests/parsing/grammar/expressions/expected/jsx.res.txt +++ b/tests/parsing/grammar/expressions/expected/jsx.res.txt @@ -491,24 +491,24 @@ let _ = ((button ?id:((id)[@ns.namedArgLoc ]) ~className:((Cn.make [|{js|button|js};{js|is-fullwidth|js}|]) [@ns.namedArgLoc ][@ns.braces ]) ~onClick:((onClick)[@ns.namedArgLoc ]) - ~children:[(("Submit" |> ste)[@ns.braces ])] ()) + ~children:[(({js|Submit|js} |> ste)[@ns.braces ])] ()) [@JSX ]) let _ = ((button ?id:((id)[@ns.namedArgLoc ]) ~className:((Cn.make [{js|button|js}; {js|is-fullwidth|js}]) [@ns.namedArgLoc ][@ns.braces ]) ~onClick:((onClick)[@ns.namedArgLoc ]) - ~children:[(("Submit" |> ste)[@ns.braces ])] ()) + ~children:[(({js|Submit|js} |> ste)[@ns.braces ])] ()) [@JSX ]) let _ = ((button ?id:((id)[@ns.namedArgLoc ]) ~className:((Cn.make ({js|button|js}, {js|is-fullwidth|js})) [@ns.namedArgLoc ][@ns.braces ]) ~onClick:((onClick)[@ns.namedArgLoc ]) - ~children:[(("Submit" |> ste)[@ns.braces ])] ()) + ~children:[(({js|Submit|js} |> ste)[@ns.braces ])] ()) [@JSX ]) let _ = ((button ?id:((id)[@ns.namedArgLoc ]) ~className:((Cn.make { a = b }) [@ns.namedArgLoc ][@ns.braces ]) ~onClick:((onClick)[@ns.namedArgLoc ]) - ~children:[(("Submit" |> ste)[@ns.braces ])] ()) + ~children:[(({js|Submit|js} |> ste)[@ns.braces ])] ()) [@JSX ]) let _ = ((X.createElement ~y:((z |. (Belt.Option.getWithDefault {js||js}))