相关的Issue
原因(目的、解决的问题等)
支持ECMA2022规范正则表达式/d标志
描述(做了什么,变更了什么)
修改Lexer::ScanRegExpFlags()
新增用例
built-ins/RegExp/duplicate-flags.js
built-ins/RegExp/match-indices/indices-array-element.js
built-ins/RegExp/match-indices/indices-array-matched.js
built-ins/RegExp/match-indices/indices-array-non-unicode-match.js
built-ins/RegExp/match-indices/indices-array-properties.js
built-ins/RegExp/match-indices/indices-array-unicode-match.js
built-ins/RegExp/match-indices/indices-array-unicode-property-names.js
built-ins/RegExp/match-indices/indices-array-unmatched.js
built-ins/RegExp/match-indices/indices-array.js
built-ins/RegExp/match-indices/indices-groups-object-undefined.js
built-ins/RegExp/match-indices/indices-groups-object-unmatched.js
built-ins/RegExp/match-indices/indices-groups-object.js
built-ins/RegExp/match-indices/indices-groups-properties.js
built-ins/RegExp/match-indices/indices-property.js
built-ins/RegExp/match-indices/no-indices-array.js
built-ins/RegExp/prototype/flags/return-order.js
built-ins/RegExp/prototype/hasIndices/cross-realm.js
built-ins/RegExp/prototype/hasIndices/length.js
built-ins/RegExp/prototype/hasIndices/name.js
built-ins/RegExp/prototype/hasIndices/prop-desc.js
built-ins/RegExp/prototype/hasIndices/this-val-invalid-obj.js
built-ins/RegExp/prototype/hasIndices/this-val-non-obj.js
built-ins/RegExp/prototype/hasIndices/this-val-regexp.js
屏蔽用例
built-ins/RegExp/prototype/hasIndices/this-val-regexp-prototype.js
报错Expected no error, but got TypeError:
TypeError: this does not have [[OriginalFlags]]
原因:和之前屏蔽的built-ins/RegExp/prototype/dotAll/this-val-regexp-prototype.js
built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js等一样,runtime对flags的处理没有严格按照ecma规范的步骤来。
built-ins/RegExp/prototype/flags/coercion-hasIndices.js
报错FAIL test262/data/test/built-ins/RegExp/prototype/flags/coercion-hasIndices.js (strict mode)
Expected no error, but got :
ASSERTION FAILED: JSHandle::Cast(thisObj)->IsJSRegExp()
IN ../../arkcompiler/ets_runtime/ecmascript/builtins/builtins_regexp.cpp:257: GetFlags
原因:runtime对flags的处理没有严格按照ecma规范的步骤来。
测试用例(新增、改动、可能影响的功能)
compiler用例
parser用例
tsc用例
热补丁热重载冷补丁能力测试
base64测试用例
类型提取用例
字节码测试用例
262
全量262
不能通过的用例为已知问题