Skip to content

Commit f672651

Browse files
committed
fix: unary expression token
1 parent d15929a commit f672651

File tree

2 files changed

+37
-36
lines changed

2 files changed

+37
-36
lines changed

esparser/src/parser/Parser.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2740,7 +2740,8 @@ namespace jetpack::parser {
27402740
return ParseUnaryExpression(scope);
27412741
});
27422742
auto node = Alloc<UnaryExpression>();
2743-
node->operator_ = token.value;
2743+
UStringView tokenView = TokenTypeToLiteral(token.type);
2744+
node->operator_ = UString(tokenView.utf16(), tokenView.size());
27442745
node->argument = expr;
27452746
node->prefix = true;
27462747
expr = Finalize(marker, node);

esparser/src/tokenizer/Scanner.cpp

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -263,62 +263,62 @@ namespace jetpack {
263263
JsTokenType Scanner::ToKeyword(const UString &str_) {
264264
switch (str_.size()) {
265265
case 2:
266-
if (str_ == u"if") return JsTokenType::K_If;
267-
if (str_ == u"in") return JsTokenType::K_In;
268-
if (str_ == u"do") return JsTokenType::K_Do;
266+
if (str_ == UStr("if")) return JsTokenType::K_If;
267+
if (str_ == UStr("in")) return JsTokenType::K_In;
268+
if (str_ == UStr("do")) return JsTokenType::K_Do;
269269
return JsTokenType::Invalid;
270270

271271
case 3:
272-
if (str_ == u"var") return JsTokenType::K_Var;
273-
if (str_ == u"for") return JsTokenType::K_For;
274-
if (str_ == u"new") return JsTokenType::K_New;
275-
if (str_ == u"try") return JsTokenType::K_Try;
276-
if (str_ == u"let") return JsTokenType::K_Let;
272+
if (str_ == UStr("var")) return JsTokenType::K_Var;
273+
if (str_ == UStr("for")) return JsTokenType::K_For;
274+
if (str_ == UStr("new")) return JsTokenType::K_New;
275+
if (str_ == UStr("try")) return JsTokenType::K_Try;
276+
if (str_ == UStr("let")) return JsTokenType::K_Let;
277277
return JsTokenType::Invalid;
278278

279279
case 4:
280-
if (str_ == u"this") return JsTokenType::K_This;
281-
if (str_ == u"else") return JsTokenType::K_Else;
282-
if (str_ == u"case") return JsTokenType::K_Case;
283-
if (str_ == u"void") return JsTokenType::K_Void;
284-
if (str_ == u"with") return JsTokenType::K_With;
285-
if (str_ == u"enum") return JsTokenType::K_Enum;
280+
if (str_ == UStr("this")) return JsTokenType::K_This;
281+
if (str_ == UStr("else")) return JsTokenType::K_Else;
282+
if (str_ == UStr("case")) return JsTokenType::K_Case;
283+
if (str_ == UStr("void")) return JsTokenType::K_Void;
284+
if (str_ == UStr("with")) return JsTokenType::K_With;
285+
if (str_ == UStr("enum")) return JsTokenType::K_Enum;
286286
return JsTokenType::Invalid;
287287

288288
case 5:
289-
if (str_ == u"while") return JsTokenType::K_While;
290-
if (str_ == u"break") return JsTokenType::K_Break;
291-
if (str_ == u"catch") return JsTokenType::K_Catch;
292-
if (str_ == u"throw") return JsTokenType::K_Throw;
293-
if (str_ == u"const") return JsTokenType::K_Const;
294-
if (str_ == u"yield") return JsTokenType::K_Yield;
295-
if (str_ == u"class") return JsTokenType::K_Class;
296-
if (str_ == u"super") return JsTokenType::K_Super;
289+
if (str_ == UStr("while")) return JsTokenType::K_While;
290+
if (str_ == UStr("break")) return JsTokenType::K_Break;
291+
if (str_ == UStr("catch")) return JsTokenType::K_Catch;
292+
if (str_ == UStr("throw")) return JsTokenType::K_Throw;
293+
if (str_ == UStr("const")) return JsTokenType::K_Const;
294+
if (str_ == UStr("yield")) return JsTokenType::K_Yield;
295+
if (str_ == UStr("class")) return JsTokenType::K_Class;
296+
if (str_ == UStr("super")) return JsTokenType::K_Super;
297297
return JsTokenType::Invalid;
298298

299299
case 6:
300-
if (str_ == u"return") return JsTokenType::K_Return;
301-
if (str_ == u"typeof") return JsTokenType::K_Typeof;
302-
if (str_ == u"delete") return JsTokenType::K_Delete;
303-
if (str_ == u"switch") return JsTokenType::K_Switch;
304-
if (str_ == u"export") return JsTokenType::K_Export;
305-
if (str_ == u"import") return JsTokenType::K_Import;
300+
if (str_ == UStr("return")) return JsTokenType::K_Return;
301+
if (str_ == UStr("typeof")) return JsTokenType::K_Typeof;
302+
if (str_ == UStr("delete")) return JsTokenType::K_Delete;
303+
if (str_ == UStr("switch")) return JsTokenType::K_Switch;
304+
if (str_ == UStr("export")) return JsTokenType::K_Export;
305+
if (str_ == UStr("import")) return JsTokenType::K_Import;
306306
return JsTokenType::Invalid;
307307

308308
case 7:
309-
if (str_ == u"default") return JsTokenType::K_Default;
310-
if (str_ == u"finally") return JsTokenType::K_Finally;
311-
if (str_ == u"extends") return JsTokenType::K_Extends;
309+
if (str_ == UStr("default")) return JsTokenType::K_Default;
310+
if (str_ == UStr("finally")) return JsTokenType::K_Finally;
311+
if (str_ == UStr("extends")) return JsTokenType::K_Extends;
312312
return JsTokenType::Invalid;
313313

314314
case 8:
315-
if (str_ == u"function") return JsTokenType::K_Function;
316-
if (str_ == u"continue") return JsTokenType::K_Continue;
317-
if (str_ == u"debugger") return JsTokenType::K_Debugger;
315+
if (str_ == UStr("function")) return JsTokenType::K_Function;
316+
if (str_ == UStr("continue")) return JsTokenType::K_Continue;
317+
if (str_ == UStr("debugger")) return JsTokenType::K_Debugger;
318318
return JsTokenType::Invalid;
319319

320320
case 10:
321-
if (str_ == u"instanceof") return JsTokenType::K_Instanceof;
321+
if (str_ == UStr("instanceof")) return JsTokenType::K_Instanceof;
322322
return JsTokenType::Invalid;
323323

324324
default:

0 commit comments

Comments
 (0)