相关的Issue

#I7TUF0:支持ECMA2022规范正则表达式/d标志

原因(目的、解决的问题等)

支持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
输入图片说明
不能通过的用例为已知问题
输入图片说明