aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/js_parser.zig70
1 files changed, 1 insertions, 69 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig
index 976642eb9..a323ed655 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -46,12 +46,6 @@ fn _disabledAssert(_: bool) void {
unreachable;
}
-fn __wrapSyntaxError(loc: @import("std").builtin.SourceLocation) void {
- Output.print("SyntaxError at {d}:{d}", .{
- loc.line,
- loc.column,
- });
-}
const assert = if (Environment.allow_assert) std.debug.assert else _disabledAssert;
const debug = Output.scoped(.JSParser, false);
const ExprListLoc = struct {
@@ -392,7 +386,6 @@ const JSXTag = struct {
if (strings.indexOfChar(member, '-')) |index| {
try p.log.addError(p.source, logger.Loc{ .start = member_range.loc.start + @as(i32, @intCast(index)) }, "Unexpected \"-\"");
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -2933,7 +2926,6 @@ pub const Parser = struct {
// Example where NOT halting causes a crash: A TS enum with a number literal as a member name
// https://discord.com/channels/876711213126520882/876711213126520885/1039325382488371280
if (self.log.errors > orig_error_count) {
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -3091,7 +3083,6 @@ pub const Parser = struct {
// If there were errors while visiting, also halt here
if (self.log.errors > orig_error_count) {
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -8176,7 +8167,6 @@ fn NewParser_(
else => {
if (!found_key) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
},
@@ -8189,7 +8179,6 @@ fn NewParser_(
else => {
if (!p.lexer.has_newline_before) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
},
@@ -8566,7 +8555,6 @@ fn NewParser_(
// example:
// export class {}
if (!is_identifier) {
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -8696,7 +8684,6 @@ fn NewParser_(
p.esm_export_keyword = p.lexer.range();
} else if (!opts.is_namespace_scope) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
try p.lexer.next();
@@ -8730,14 +8717,12 @@ fn NewParser_(
}
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
T.t_enum => {
if (!is_typescript_enabled) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -8810,14 +8795,12 @@ fn NewParser_(
}
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
T.t_default => {
if (!opts.is_module_scope and (!opts.is_namespace_scope or !opts.is_typescript_declare)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -8967,7 +8950,6 @@ fn NewParser_(
T.t_asterisk => {
if (!opts.is_module_scope and !(opts.is_namespace_scope or !opts.is_typescript_declare)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -9021,7 +9003,6 @@ fn NewParser_(
T.t_open_brace => {
if (!opts.is_module_scope and !(opts.is_namespace_scope or !opts.is_typescript_declare)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -9099,12 +9080,10 @@ fn NewParser_(
return p.s(S.ExportEquals{ .value = value }, loc);
}
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
else => {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
}
@@ -9117,7 +9096,6 @@ fn NewParser_(
.t_enum => {
if (!is_typescript_enabled) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
return p.parseTypescriptEnumStmt(loc, opts);
@@ -9161,7 +9139,6 @@ fn NewParser_(
// notimpl();
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
.t_class => {
@@ -9288,7 +9265,6 @@ fn NewParser_(
if (p.lexer.token == .t_default) {
if (foundDefault) {
try p.log.addRangeError(p.source, p.lexer.range(), "Multiple default clauses are not allowed");
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -9478,7 +9454,6 @@ fn NewParser_(
if (p.lexer.isContextualKeyword("of") or isForAwait) {
if (bad_let_range) |r| {
try p.log.addRangeError(p.source, r, "\"let\" must be wrapped in parentheses to be used as an expression here");
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -9487,7 +9462,6 @@ fn NewParser_(
try p.lexer.expectedString("\"of\"");
} else {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
}
@@ -9573,7 +9547,6 @@ fn NewParser_(
// "import 'path'"
if (!opts.is_module_scope and (!opts.is_namespace_scope or !opts.is_typescript_declare)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
was_originally_bare_import = true;
@@ -9582,7 +9555,6 @@ fn NewParser_(
// "import * as ns from 'path'"
if (!opts.is_module_scope and (!opts.is_namespace_scope or !opts.is_typescript_declare)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -9600,7 +9572,6 @@ fn NewParser_(
// "import {item1, item2} from 'path'"
if (!opts.is_module_scope and (!opts.is_namespace_scope or !opts.is_typescript_declare)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
var importClause = try p.parseImportClause();
@@ -9626,7 +9597,6 @@ fn NewParser_(
// "import foo = bar"
if (!opts.is_module_scope and (!opts.is_namespace_scope)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -9712,7 +9682,6 @@ fn NewParser_(
},
else => {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
}
@@ -9722,7 +9691,6 @@ fn NewParser_(
},
else => {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
}
@@ -9768,7 +9736,6 @@ fn NewParser_(
try p.log.addError(p.source, logger.Loc{
.start = loc.start + 5,
}, "Unexpected newline after \"throw\"");
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
const expr = try p.parseExpr(.lowest);
@@ -10541,7 +10508,6 @@ fn NewParser_(
// Commas after spread elements are not allowed
if (has_spread and p.lexer.token == .t_comma) {
p.log.addRangeError(p.source, p.lexer.range(), "Unexpected \",\" after rest pattern") catch unreachable;
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
}
@@ -10589,7 +10555,6 @@ fn NewParser_(
// Commas after spread elements are not allowed
if (property.flags.contains(.is_spread) and p.lexer.token == .t_comma) {
p.log.addRangeError(p.source, p.lexer.range(), "Unexpected \",\" after rest pattern") catch unreachable;
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -11041,7 +11006,6 @@ fn NewParser_(
if (first_non_identifier_loc.start != 0 and !p.lexer.isContextualKeyword("from")) {
const r = js_lexer.rangeOfIdentifier(p.source, first_non_identifier_loc);
try p.lexer.addRangeError(r, "Expected identifier but found \"{s}\"", .{p.source.textForRange(r)}, true);
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -11493,7 +11457,6 @@ fn NewParser_(
// Newlines are not allowed before "=>"
if (p.lexer.has_newline_before) {
try p.log.addRangeError(p.source, p.lexer.range(), "Unexpected newline before \"=>\"");
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -11984,7 +11947,6 @@ fn NewParser_(
if (isStar) {
if (p.lexer.has_newline_before) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
try p.lexer.next();
@@ -12069,7 +12031,6 @@ fn NewParser_(
.t_asterisk => {
if (kind != .normal or opts.is_generator) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -12840,7 +12801,6 @@ fn NewParser_(
// "a?.<T>()"
if (comptime !is_typescript_enabled) {
try p.lexer.expected(.t_identifier);
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -12992,7 +12952,6 @@ fn NewParser_(
{
if (errors == null) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
errors.?.invalid_expr_after_question = p.lexer.range();
@@ -13024,7 +12983,6 @@ fn NewParser_(
if (!is_typescript_enabled) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13300,7 +13258,6 @@ fn NewParser_(
// Prevent "||" inside "??" from the right
if (level.eql(.nullish_coalescing)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13313,7 +13270,6 @@ fn NewParser_(
if (p.lexer.token == .t_question_question) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
}
@@ -13334,7 +13290,6 @@ fn NewParser_(
// Prevent "&&" inside "??" from the right
if (level.eql(.nullish_coalescing)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13347,7 +13302,6 @@ fn NewParser_(
if (p.lexer.token == .t_question_question) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
}
@@ -13621,7 +13575,6 @@ fn NewParser_(
.t_private_identifier => {
if (!p.allow_private_identifiers or !p.allow_in or level.gte(.compare)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13670,7 +13623,6 @@ fn NewParser_(
const value = try p.parseExpr(.prefix);
if (p.lexer.token == T.t_asterisk_asterisk) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13782,7 +13734,6 @@ fn NewParser_(
const value = try p.parseExpr(.prefix);
if (p.lexer.token == .t_asterisk_asterisk) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13796,7 +13747,6 @@ fn NewParser_(
const value = try p.parseExpr(.prefix);
if (p.lexer.token == .t_asterisk_asterisk) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13807,7 +13757,6 @@ fn NewParser_(
const value = try p.parseExpr(.prefix);
if (p.lexer.token == .t_asterisk_asterisk) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
if (value.data == .e_index) {
@@ -13826,7 +13775,6 @@ fn NewParser_(
const value = try p.parseExpr(.prefix);
if (p.lexer.token == .t_asterisk_asterisk) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13837,7 +13785,6 @@ fn NewParser_(
const value = try p.parseExpr(.prefix);
if (p.lexer.token == .t_asterisk_asterisk) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13848,7 +13795,6 @@ fn NewParser_(
const value = try p.parseExpr(.prefix);
if (p.lexer.token == .t_asterisk_asterisk) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13859,7 +13805,6 @@ fn NewParser_(
const value = try p.parseExpr(.prefix);
if (p.lexer.token == .t_asterisk_asterisk) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -13922,7 +13867,6 @@ fn NewParser_(
if (p.lexer.token != .t_identifier or !strings.eqlComptime(p.lexer.raw(), "target")) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
const range = logger.Range{ .loc = loc, .len = p.lexer.range().end().start - loc.start };
@@ -14190,21 +14134,17 @@ fn NewParser_(
}
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
.t_import => {
try p.lexer.next();
return p.parseImportExpr(loc, level);
},
- else => |tok| {
- Output.print("Unexpected {s}", .{@tagName(tok)});
+ else => {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
}
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -14467,7 +14407,6 @@ fn NewParser_(
// If we get here, it's invalid
try p.log.addError(p.source, expr.loc, "Invalid JSX prop shorthand, must be identifier, dot or string");
- __wrapSyntaxError(@src());
return error.SyntaxError;
};
@@ -14522,7 +14461,6 @@ fn NewParser_(
const r = p.lexer.range();
// Not dealing with this right now.
try p.log.addRangeError(p.source, r, "Invalid JSX escape - use XML entity codes quotes or pass a JavaScript string instead");
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -14604,7 +14542,6 @@ fn NewParser_(
end_tag.name,
tag.name,
});
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -14627,7 +14564,6 @@ fn NewParser_(
},
else => {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
},
}
@@ -20938,7 +20874,6 @@ fn NewParser_(
// Arrow functions are not allowed inside certain expressions
if (level.gt(.assign)) {
try p.lexer.unexpected();
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -21011,7 +20946,6 @@ fn NewParser_(
// If this isn't an arrow function, then types aren't allowed
if (type_colon_range.len > 0) {
try p.log.addRangeError(p.source, type_colon_range, "Unexpected \":\"");
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -21027,7 +20961,6 @@ fn NewParser_(
p.logExprErrors(&errors);
if (spread_range.len > 0) {
try p.log.addRangeError(p.source, type_colon_range, "Unexpected \"...\"");
- __wrapSyntaxError(@src());
return error.SyntaxError;
}
@@ -21038,7 +20971,6 @@ fn NewParser_(
// Indicate that we expected an arrow function
try p.lexer.expected(.t_equals_greater_than);
- __wrapSyntaxError(@src());
return error.SyntaxError;
}