Skip to content

Commit 9de5335

Browse files
cometkimcristianoc
authored andcommitted
fix outbound access
1 parent 20d2542 commit 9de5335

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

jscomp/syntax/src/res_scanner.ml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -311,13 +311,12 @@ let scanExoticIdentifier scanner =
311311
(String.sub [@doesNotRaise]) scanner.src startOff (scanner.offset - startOff)
312312
in
313313
let name = Ext_ident.unwrap_exotic ident in
314-
let _ =
315-
if name = String.empty then
316-
let endPos = position scanner in
317-
scanner.err ~startPos ~endPos
318-
(Diagnostics.message "A quoted identifier can't be empty string.")
319-
in
320-
if Ext_ident.is_uident name then Token.Lident ident
314+
if name = String.empty then (
315+
let endPos = position scanner in
316+
scanner.err ~startPos ~endPos
317+
(Diagnostics.message "A quoted identifier can't be empty string.");
318+
Token.Lident ident)
319+
else if Ext_ident.is_uident name then Token.Lident ident
321320
(* Exotic ident with uppercase letter should be encoded to avoid confusing in OCaml parsetree *)
322321
else Token.Lident name
323322

jscomp/syntax/tests/parsing/errors/scanner/expected/exoticIdent.res.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@
9292

9393
consecutive statements on a line must be separated by ';' or a newline
9494

95-
type nonrec
96-
type nonrec = int
97-
let Fatal error: exception Invalid_argument("index out of bounds")
95+
type nonrec \""
96+
type nonrec \"" = int
97+
let \"" = [%rescript.exprhole ]
98+
let \"a
99+
= b
100+
;;c
101+
;;{js| = 1
102+
|js}

0 commit comments

Comments
 (0)