aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-02-15 20:07:28 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-02-15 20:07:28 -0800
commit665a3594130d4b48aa009b0a0b38ec742fa921d7 (patch)
treecd8074a048e791315841b3629df78025dffeaebe /src
parent022e399bff9eeeaec3ec6412528ce333b4a94bfa (diff)
downloadbun-665a3594130d4b48aa009b0a0b38ec742fa921d7.tar.gz
bun-665a3594130d4b48aa009b0a0b38ec742fa921d7.tar.zst
bun-665a3594130d4b48aa009b0a0b38ec742fa921d7.zip
[internal] workaround https://github.com/ziglang/zig/issues/10903
Diffstat (limited to 'src')
-rw-r--r--src/js_lexer.zig33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/js_lexer.zig b/src/js_lexer.zig
index 878751eea..1f6c39989 100644
--- a/src/js_lexer.zig
+++ b/src/js_lexer.zig
@@ -56,7 +56,38 @@ pub const JSONOptions = struct {
was_originally_macro: bool = false,
};
-pub fn NewLexer(comptime json_options: JSONOptions) type {
+pub fn NewLexer(
+ comptime json_options: JSONOptions,
+) type {
+ return NewLexer_(
+ json_options.is_json,
+ json_options.allow_comments,
+ json_options.allow_trailing_commas,
+ json_options.ignore_leading_escape_sequences,
+ json_options.ignore_trailing_escape_sequences,
+ json_options.json_warn_duplicate_keys,
+ json_options.was_originally_macro,
+ );
+}
+
+fn NewLexer_(
+ comptime json_options_is_json: bool,
+ comptime json_options_allow_comments: bool,
+ comptime json_options_allow_trailing_commas: bool,
+ comptime json_options_ignore_leading_escape_sequences: bool,
+ comptime json_options_ignore_trailing_escape_sequences: bool,
+ comptime json_options_json_warn_duplicate_keys: bool,
+ comptime json_options_was_originally_macro: bool,
+) type {
+ const json_options = JSONOptions{
+ .is_json = json_options_is_json,
+ .allow_comments = json_options_allow_comments,
+ .allow_trailing_commas = json_options_allow_trailing_commas,
+ .ignore_leading_escape_sequences = json_options_ignore_leading_escape_sequences,
+ .ignore_trailing_escape_sequences = json_options_ignore_trailing_escape_sequences,
+ .json_warn_duplicate_keys = json_options_json_warn_duplicate_keys,
+ .was_originally_macro = json_options_was_originally_macro,
+ };
return struct {
const LexerType = @This();
const is_json = json_options.is_json;