!5951 Support negative number in object literal's literal buffer

Merge pull request !5951 from chenjingxiang/neg_number_object_literal_buffer_br
This commit is contained in:
openharmony_ci 2024-01-23 11:29:02 +00:00 committed by Gitee
commit 8d86c59e9b
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 21 additions and 3 deletions

View File

@ -375,7 +375,7 @@ void LiteralDataExtractor::ExtractObjectDatas(JSThread *thread, const JSPandaFil
bool flag = false;
switch (tag) {
case LiteralTag::INTEGER: {
jt = JSTaggedValue(std::get<uint32_t>(value));
jt = JSTaggedValue(static_cast<int32_t>(std::get<uint32_t>(value)));
break;
}
case LiteralTag::DOUBLE: {

View File

@ -15,4 +15,10 @@
123,123
a,aa
b,bb
e,ee
e,ee
a,4294967295
b,-1
c,2147483647
d,2147483648
e,-2147483648
f,-2147483649

View File

@ -43,4 +43,16 @@ let obj2 = {
for (const [key, value] of Object.entries(obj)) {
print(key + "," + value);
}
print("e," + obj.e);
print("e," + obj.e);
var obj3 = {
a: 4294967295,
b: -1,
c: 2147483647,
d: 2147483648,
e: -2147483648,
f: -2147483649
}
for (const [key, value] of Object.entries(obj3)) {
print(key + "," + value);
}