diff --git a/es2panda/lexer/lexer.cpp b/es2panda/lexer/lexer.cpp index 5e80b9718eeaf3a3db4c7b6a1272ced26a9c2c7e..f0a093ef642fce19bde7c3a96d9704f9b19b8f9b 100644 --- a/es2panda/lexer/lexer.cpp +++ b/es2panda/lexer/lexer.cpp @@ -1233,6 +1233,17 @@ void Lexer::SkipWhiteSpaces() auto cp = Iterator().Peek(); switch (cp) { + case LEX_CHAR_ROUNDED_SP: { + Iterator().Forward(1); + if (Iterator().Peek() == LEX_CHAR_ROUNDED_SP_apart) { + Iterator().Forward(1); + if (Iterator().Peek() == LEX_CHAR_ROUNDED_SP_apart) { + Iterator().Forward(1); + cp = Iterator().Peek(); + } + } + continue; + } case LEX_CHAR_CR: { Iterator().Forward(1); diff --git a/es2panda/lexer/token/letters.h b/es2panda/lexer/token/letters.h index 5ca37714066984d42954c382804b8eea8a0d5625..5afde3f7c707e725b673e4d278484f11627d0a7e 100644 --- a/es2panda/lexer/token/letters.h +++ b/es2panda/lexer/token/letters.h @@ -144,6 +144,9 @@ namespace panda::es2panda::lexer { #define LEX_VERTICAL_TILDE 0x2E2F /* vertical tilde */ +#define LEX_CHAR_ROUNDED_SP 0xffffffe3 /* rounded space */ +#define LEX_CHAR_ROUNDED_SP_apart 0xffffff80 /* rounded space apart */ + #define LEX_TO_ASCII_LOWERCASE(character) ((character) | LEX_CHAR_SP) #define LEX_UTF8_2_BYTE_CODE_POINT_MIN (0x80) diff --git a/es2panda/test/compiler/js/language/destructuring/test-rounded-space-expected.txt b/es2panda/test/compiler/js/language/destructuring/test-rounded-space-expected.txt new file mode 100644 index 0000000000000000000000000000000000000000..573541ac9702dd3969c9bc859d2b91ec1f7e6e56 --- /dev/null +++ b/es2panda/test/compiler/js/language/destructuring/test-rounded-space-expected.txt @@ -0,0 +1 @@ +0 diff --git a/es2panda/test/compiler/js/language/destructuring/test-rounded-space.js b/es2panda/test/compiler/js/language/destructuring/test-rounded-space.js new file mode 100644 index 0000000000000000000000000000000000000000..e7b22801b76684f1135566fdbb7537b0b9573b71 --- /dev/null +++ b/es2panda/test/compiler/js/language/destructuring/test-rounded-space.js @@ -0,0 +1,2 @@ +var x = 0; +print(x); \ No newline at end of file