fix codecheck warning for master branch

Signed-off-by: hjzhangcm <zhanghaijun20@huawei.com>
This commit is contained in:
hjzhangcm 2022-07-20 13:25:59 +08:00
parent f66c19e985
commit 82810a0fdd
13 changed files with 110 additions and 75 deletions

View File

@ -116,7 +116,7 @@ bool BuiltinsGlobal::IsInMarkURISet(uint16_t ch)
bool BuiltinsGlobal::IsHexDigits(uint16_t ch)
{
return ('0' <= ch && ch <= '9') || ('A' <= ch && ch <= 'F') || ('a' <= ch && ch <= 'f');
return (ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f');
}
// 18.2.6

View File

@ -758,7 +758,7 @@ JSTaggedValue BuiltinsMath::Trunc(EcmaRuntimeCallInfo *argv)
if (!std::isfinite(value)) {
// if value is +infinite, -infinite, NaN, -NaN, VRegisterTag is double
if (!std::isnan(std::abs(value))) {
// if value is +infinite, -infinite, result is value ;
// if value is +infinite, -infinite, result is value
result = value;
}
} else {

View File

@ -220,7 +220,7 @@ HWTEST_F_L0(BuiltinsSetTest, ForEach)
JSSet *jsSet = JSSet::Cast(reinterpret_cast<TaggedObject *>(result1.GetRawData()));
EXPECT_EQ(jsSet->GetSize(), static_cast<int>(i) + 1);
}
// test foreach;
// test foreach
JSHandle<JSArray> jsArray(JSArray::ArrayCreate(thread, JSTaggedNumber(0)));
JSHandle<JSFunction> func =
factory->NewJSFunction(thread->GetEcmaVM()->GetGlobalEnv(), reinterpret_cast<void *>(TestClass::TestFunc));

View File

@ -1019,11 +1019,8 @@ NO_UB_SANITIZE void EcmaInterpreter::RunInternal(JSThread *thread, ConstantPool
state->acc = acc;
return;
}
thread->SetCurrentSPFrame(sp);
constpool = ConstantPool::Cast(prevState->constpool.GetTaggedObject());
if (IsFastNewFrameExit(currentSp)) {
JSFunction *func = JSFunction::Cast(GetThisFunction(currentSp).GetTaggedObject());
if (acc.IsECMAObject()) {
@ -1050,7 +1047,6 @@ NO_UB_SANITIZE void EcmaInterpreter::RunInternal(JSThread *thread, ConstantPool
SET_ACC(thisObject);
INTERPRETER_HANDLE_RETURN();
}
INTERPRETER_HANDLE_RETURN();
}
HANDLE_OPCODE(HANDLE_RETURNUNDEFINED_PREF) {
@ -1071,11 +1067,8 @@ NO_UB_SANITIZE void EcmaInterpreter::RunInternal(JSThread *thread, ConstantPool
state->acc = JSTaggedValue::Undefined();
return;
}
thread->SetCurrentSPFrame(sp);
constpool = ConstantPool::Cast(prevState->constpool.GetTaggedObject());
if (IsFastNewFrameExit(currentSp)) {
JSFunction *func = JSFunction::Cast(GetThisFunction(currentSp).GetTaggedObject());
if (func->IsBase()) {

View File

@ -992,6 +992,7 @@ JSHandle<JSArray> JSDateTimeFormat::ConstructFDateIntervalToJSArray(JSThread *th
// Let index be 0.
int index = 0;
int32_t preEndPos = 0;
// 2: number of elements
std::array<int32_t, 2> begin {};
std::array<int32_t, 2> end {};
begin[0] = begin[1] = end[0] = end[1] = 0;
@ -1064,7 +1065,7 @@ JSHandle<JSArray> JSDateTimeFormat::ConstructFDateIntervalToJSArray(JSThread *th
}
Value JSDateTimeFormat::TrackValue(int32_t beginning, int32_t ending,
std::array<int32_t, 2> begin, std::array<int32_t, 2> end)
std::array<int32_t, 2> begin, std::array<int32_t, 2> end) // 2: number of elements
{
Value value = Value::SHARED;
if ((begin[0] <= beginning) && (beginning <= end[0]) && (begin[0] <= ending) && (ending <= end[0])) {

View File

@ -156,7 +156,7 @@ public:
private:
static HourCycleOption OptionToHourCycle(const std::string &hc);
// 2: number of elements
static Value TrackValue(int32_t beginning, int32_t ending, std::array<int32_t, 2> begin,
std::array<int32_t, 2> end);

View File

@ -1320,7 +1320,7 @@ int ConvertValue(const UErrorCode &status, std::string &value, const std::string
}
if (key == "kf" && value == "true") {
return 2;
return 2; // 2: in this case normalizedKeyword is empty string
}
return 0;
}
@ -1339,7 +1339,7 @@ JSHandle<EcmaString> JSLocale::NormalizeKeywordValue(JSThread *thread, const JSH
if (result == 1) {
return JSHandle<EcmaString>::Cast(thread->GlobalConstants()->GetHandledUndefinedString());
}
if (result == 2) {
if (result == 2) { // 2: in this case normalizedKeyword is empty string
return factory->GetEmptyString();
}
return factory->NewFromStdString(value);

View File

@ -132,9 +132,7 @@ bool JSSerializer::WriteRawData(const void *data, size_t length)
return false;
}
}
errno_t rc;
rc = memcpy_s(buffer_ + bufferSize_, bufferCapacity_ - bufferSize_, data, length);
if (rc != EOK) {
if (memcpy_s(buffer_ + bufferSize_, bufferCapacity_ - bufferSize_, data, length) != EOK) {
LOG_FULL(ERROR) << "Failed to memcpy_s Data";
return false;
}
@ -192,9 +190,7 @@ bool JSSerializer::ExpandBuffer(size_t requestedSize)
if (newBuffer == nullptr) {
return false;
}
errno_t rc;
rc = memcpy_s(newBuffer, newCapacity, buffer_, bufferSize_);
if (rc != EOK) {
if (memcpy_s(newBuffer, newCapacity, buffer_, bufferSize_) != EOK) {
LOG_FULL(ERROR) << "Failed to memcpy_s Data";
free(newBuffer);
return false;

View File

@ -108,33 +108,38 @@ bool RegExpExecutor::ExecuteInternal(const DynChunk &byteCode, uint32_t pcEnd)
uint8_t opCode = byteCode.GetU8(GetCurrentPC());
switch (opCode) {
case RegExpOpCode::OP_DOTS:
case RegExpOpCode::OP_ALL:
case RegExpOpCode::OP_ALL: {
if (!HandleOpAll(opCode)) {
return false;
}
break;
}
case RegExpOpCode::OP_CHAR32:
case RegExpOpCode::OP_CHAR:
case RegExpOpCode::OP_CHAR: {
if (!HandleOpChar(byteCode, opCode)) {
return false;
}
break;
}
case RegExpOpCode::OP_NOT_WORD_BOUNDARY:
case RegExpOpCode::OP_WORD_BOUNDARY:
case RegExpOpCode::OP_WORD_BOUNDARY: {
if (!HandleOpWordBoundary(opCode)) {
return false;
}
break;
case RegExpOpCode::OP_LINE_START:
}
case RegExpOpCode::OP_LINE_START: {
if (!HandleOpLineStart(opCode)) {
return false;
}
break;
case RegExpOpCode::OP_LINE_END:
}
case RegExpOpCode::OP_LINE_END: {
if (!HandleOpLineEnd(opCode)) {
return false;
}
break;
}
case RegExpOpCode::OP_SAVE_START:
HandleOpSaveStart(byteCode, opCode);
break;
@ -144,16 +149,17 @@ bool RegExpExecutor::ExecuteInternal(const DynChunk &byteCode, uint32_t pcEnd)
case RegExpOpCode::OP_GOTO: {
uint32_t offset = byteCode.GetU32(GetCurrentPC() + 1);
Advance(opCode, offset);
} break;
break;
}
case RegExpOpCode::OP_MATCH: {
// jump to match ahead
if (MatchFailed(true)) {
return false;
}
} break;
case RegExpOpCode::OP_MATCH_END: {
break;
}
case RegExpOpCode::OP_MATCH_END:
return true;
} break;
case RegExpOpCode::OP_SAVE_RESET:
HandleOpSaveReset(byteCode, opCode);
break;
@ -165,11 +171,12 @@ bool RegExpExecutor::ExecuteInternal(const DynChunk &byteCode, uint32_t pcEnd)
case RegExpOpCode::OP_SPLIT_FIRST:
HandleOpSplitFirst(byteCode, opCode);
break;
case RegExpOpCode::OP_PREV:
case RegExpOpCode::OP_PREV: {
if (!HandleOpPrev(opCode)) {
return false;
}
break;
}
case RegExpOpCode::OP_LOOP_GREEDY:
case RegExpOpCode::OP_LOOP:
HandleOpLoop(byteCode, opCode);
@ -177,7 +184,8 @@ bool RegExpExecutor::ExecuteInternal(const DynChunk &byteCode, uint32_t pcEnd)
case RegExpOpCode::OP_PUSH_CHAR: {
PushStack(reinterpret_cast<uintptr_t>(GetCurrentPtr()));
Advance(opCode);
} break;
break;
}
case RegExpOpCode::OP_CHECK_CHAR: {
if (PopStack() != reinterpret_cast<uintptr_t>(GetCurrentPtr())) {
Advance(opCode);
@ -185,31 +193,37 @@ bool RegExpExecutor::ExecuteInternal(const DynChunk &byteCode, uint32_t pcEnd)
uint32_t offset = byteCode.GetU32(GetCurrentPC() + 1);
Advance(opCode, offset);
}
} break;
break;
}
case RegExpOpCode::OP_PUSH: {
PushStack(0);
Advance(opCode);
} break;
break;
}
case RegExpOpCode::OP_POP: {
PopStack();
Advance(opCode);
} break;
case RegExpOpCode::OP_RANGE32:
break;
}
case RegExpOpCode::OP_RANGE32: {
if (!HandleOpRange32(byteCode)) {
return false;
}
break;
case RegExpOpCode::OP_RANGE:
}
case RegExpOpCode::OP_RANGE: {
if (!HandleOpRange(byteCode)) {
return false;
}
break;
}
case RegExpOpCode::OP_BACKREFERENCE:
case RegExpOpCode::OP_BACKWARD_BACKREFERENCE:
case RegExpOpCode::OP_BACKWARD_BACKREFERENCE: {
if (!HandleOpBackReference(byteCode, opCode)) {
return false;
}
break;
}
default:
UNREACHABLE();
}

View File

@ -245,15 +245,17 @@ void RegExpParser::ParseAlternative(bool isBackward)
LineStartOpCode lineStartOp;
lineStartOp.EmitOpCode(&buffer_, 0);
Advance();
} break;
break;
}
case '$': {
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
PrintF("Assertion %c line end \n", c0_);
LineEndOpCode lineEndOp;
lineEndOp.EmitOpCode(&buffer_, 0);
Advance();
} break;
case '\\':
break;
}
case '\\': {
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
PrintF("Escape %c \n", c0_);
Advance();
@ -264,15 +266,17 @@ void RegExpParser::ParseAlternative(bool isBackward)
WordBoundaryOpCode wordBoundaryOp;
wordBoundaryOp.EmitOpCode(&buffer_, 0);
Advance();
} break;
break;
}
case 'B': {
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
PrintF("Assertion %c \n", c0_);
NotWordBoundaryOpCode notWordBoundaryOp;
notWordBoundaryOp.EmitOpCode(&buffer_, 0);
Advance();
} break;
default:
break;
}
default: {
isAtom = true;
int atomValue = ParseAtomEscape(isBackward);
if (atomValue != -1) {
@ -304,14 +308,17 @@ void RegExpParser::ParseAlternative(bool isBackward)
}
}
break;
}
}
break;
}
case '(': {
Advance();
isAtom = ParseAssertionCapture(&captureIndex, isBackward);
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
Advance();
} break;
break;
}
case '.': {
PrevOpCode prevOp;
if (isBackward) {
@ -331,7 +338,8 @@ void RegExpParser::ParseAlternative(bool isBackward)
PrintF("Atom %c match any \n", c0_);
isAtom = true;
Advance();
} break;
break;
}
case '[': {
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
PrintF("Atom %c match range \n", c0_);
@ -365,7 +373,8 @@ void RegExpParser::ParseAlternative(bool isBackward)
if (isBackward) {
prevOp.EmitOpCode(&buffer_, 0);
}
} break;
break;
}
case '*':
case '+':
case '?':
@ -390,7 +399,7 @@ void RegExpParser::ParseAlternative(bool isBackward)
return;
}
[[fallthrough]];
default:
default: {
// PatternCharacter
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
PrintF("PatternCharacter %c\n", c0_);
@ -427,6 +436,7 @@ void RegExpParser::ParseAlternative(bool isBackward)
}
Advance();
break;
}
}
if (isAtom && !isError_) {
ParseQuantifier(atomBcStart, captureIndex, captureCount_ - 1);
@ -491,7 +501,8 @@ bool RegExpParser::ParseAssertionCapture(int *captureIndex, bool isBackward)
MatchAheadOpCode matchAheadOp;
uint32_t len = buffer_.size_ - start;
matchAheadOp.InsertOpCode(&buffer_, start, len);
} break;
break;
}
// (?!Disjunction[?U, ?N])
case '!': {
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
@ -504,8 +515,9 @@ bool RegExpParser::ParseAssertionCapture(int *captureIndex, bool isBackward)
NegativeMatchAheadOpCode matchAheadOp;
uint32_t len = buffer_.size_ - start;
matchAheadOp.InsertOpCode(&buffer_, start, len);
} break;
case '<':
break;
}
case '<': {
Advance();
// (?<=Disjunction[?U, ?N])
if (c0_ == '=') {
@ -551,6 +563,7 @@ bool RegExpParser::ParseAssertionCapture(int *captureIndex, bool isBackward)
goto parseCapture; // NOLINTNEXTLINE(cppcoreguidelines-avoid-goto)
}
break;
}
// (?:Disjunction[?U, ?N])
case ':':
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
@ -636,7 +649,7 @@ bool RegExpParser::ParserIntervalQuantifier(int *pmin, int *pmax)
*pmin = ParseDecimalDigits();
*pmax = *pmin;
switch (c0_) {
case ',':
case ',': {
Advance();
if (c0_ == '}') {
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
@ -654,6 +667,7 @@ bool RegExpParser::ParserIntervalQuantifier(int *pmin, int *pmax)
}
}
break;
}
case '}':
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
PrintF("QuantifierPrefix{DecimalDigits}\n");
@ -704,7 +718,8 @@ void RegExpParser::ParseQuantifier(size_t atomBcStart, int captureStart, int cap
ParseError("Invalid repetition count");
return;
}
} break;
break;
}
default:
break;
}
@ -832,11 +847,12 @@ int RegExpParser::ParseCaptureCount(const char *groupName)
} else {
captureIndex++;
}
} break;
break;
}
case '\\':
p++; // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic)
break;
case '[':
case '[': {
while (p < end_ && *p != ']') {
if (*p == '\\') {
p++; // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic)
@ -844,6 +860,7 @@ int RegExpParser::ParseCaptureCount(const char *groupName)
p++; // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic)
}
break;
}
default:
break;
}
@ -892,7 +909,8 @@ int RegExpParser::ParseAtomEscape(bool isBackward)
BackReferenceOpCode backReferenceOp;
backReferenceOp.EmitOpCode(&buffer_, capture);
}
} break;
break;
}
// CharacterClassEscape
case 'd': {
// [0-9]
@ -902,7 +920,8 @@ int RegExpParser::ParseAtomEscape(bool isBackward)
}
rangeOp.InsertOpCode(&buffer_, g_rangeD);
goto parseLookBehind;
} break;
break;
}
case 'D': {
// [^0-9]
RangeSet atomRange(g_rangeD);
@ -913,7 +932,8 @@ int RegExpParser::ParseAtomEscape(bool isBackward)
}
rangeOp.InsertOpCode(&buffer_, atomRange);
goto parseLookBehind;
} break;
break;
}
case 's': {
// [\f\n\r\t\v]
RangeOpCode rangeOp;
@ -922,7 +942,8 @@ int RegExpParser::ParseAtomEscape(bool isBackward)
}
rangeOp.InsertOpCode(&buffer_, g_rangeS);
goto parseLookBehind;
} break;
break;
}
case 'S': {
RangeSet atomRange(g_rangeS);
Range32OpCode rangeOp;
@ -932,7 +953,8 @@ int RegExpParser::ParseAtomEscape(bool isBackward)
}
rangeOp.InsertOpCode(&buffer_, atomRange);
goto parseLookBehind;
} break;
break;
}
case 'w': {
// [A-Za-z0-9]
RangeOpCode rangeOp;
@ -941,7 +963,8 @@ int RegExpParser::ParseAtomEscape(bool isBackward)
}
rangeOp.InsertOpCode(&buffer_, g_rangeW);
goto parseLookBehind;
} break;
break;
}
case 'W': {
// [^A-Za-z0-9]
RangeSet atomRange(g_rangeW);
@ -952,7 +975,8 @@ int RegExpParser::ParseAtomEscape(bool isBackward)
}
rangeOp.InsertOpCode(&buffer_, atomRange);
goto parseLookBehind;
} break;
break;
}
// P{UnicodePropertyValueExpression}
// p{UnicodePropertyValueExpression}
case 'P':
@ -991,7 +1015,8 @@ int RegExpParser::ParseAtomEscape(bool isBackward)
}
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
Advance();
} break;
break;
}
parseLookBehind: {
if (isBackward) {
prevOp.EmitOpCode(&buffer_, 0);
@ -1066,7 +1091,7 @@ int RegExpParser::ParseCharacterEscape()
Advance();
break;
// c ControlLetter
case 'c':
case 'c': {
Advance();
if ((c0_ >= 'A' && c0_ <= 'Z') || (c0_ >= 'a' && c0_ <= 'z')) {
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
@ -1083,7 +1108,8 @@ int RegExpParser::ParseCharacterEscape()
}
}
break;
case '0':
}
case '0': {
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
PrintF("CharacterEscape 0 [lookahead ∉ DecimalDigit]\n");
if (IsUtf16() && !(*pc_ >= '0' && *pc_ <= '9')) { // NOLINTNEXTLINE(readability-magic-numbers)
@ -1092,13 +1118,14 @@ int RegExpParser::ParseCharacterEscape()
break;
}
[[fallthrough]];
}
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '7': {
if (IsUtf16()) {
// With /u, decimal escape is not interpreted as octal character code.
ParseError("Invalid class escape");
@ -1106,6 +1133,7 @@ int RegExpParser::ParseCharacterEscape()
}
result = ParseOctalLiteral();
break;
}
// ParseHexEscapeSequence
// ParseRegExpUnicodeEscapeSequence
case 'x': {
@ -1133,7 +1161,8 @@ int RegExpParser::ParseCharacterEscape()
// If \u is not followed by a two-digit hexadecimal, treat it
// as an identity escape.
result = 'u';
} break;
break;
}
// IdentityEscape[?U]
case '$':
case '(':
@ -1155,7 +1184,7 @@ int RegExpParser::ParseCharacterEscape()
result = c0_;
Advance();
break;
default:
default: {
if (IsUtf16()) {
ParseError("Invalid unicode escape");
return 0;
@ -1165,6 +1194,7 @@ int RegExpParser::ParseCharacterEscape()
result = c0_;
Advance();
break;
}
}
return result;
}
@ -1233,15 +1263,17 @@ uint32_t RegExpParser::ParseClassAtom(RangeSet *atom)
case '\\': {
Advance();
ret = static_cast<uint32_t>(ParseClassEscape(atom));
} break;
break;
}
case KEY_EOF:
break;
case 0:
case 0: {
if (pc_ >= end_) {
return UINT32_MAX;
}
[[fallthrough]];
default:
}
default: {
uint32_t value = c0_;
size_t u16_size = 0;
if (c0_ > INT8_MAX) { // NOLINTNEXTLINE(readability-magic-numbers)
@ -1259,6 +1291,7 @@ uint32_t RegExpParser::ParseClassAtom(RangeSet *atom)
atom->Insert(RangeSet(value));
ret = value;
break;
}
}
return ret;
}

View File

@ -281,8 +281,7 @@ DispatchResponse HeapProfilerImpl::GetHeapObjectId([[maybe_unused]] const GetHea
return DispatchResponse::Fail("GetHeapObjectId not support now");
}
DispatchResponse HeapProfilerImpl::GetObjectByHeapObjectId(
[[maybe_unused]] const GetObjectByHeapObjectIdParams &params,
DispatchResponse HeapProfilerImpl::GetObjectByHeapObjectId([[maybe_unused]] const GetObjectByHeapObjectIdParams &params,
[[maybe_unused]] std::unique_ptr<RemoteObject> *remoteObjectResult)
{
return DispatchResponse::Fail("GetObjectByHeapObjectId not support now");

View File

@ -62,8 +62,8 @@ public:
static Local<JSValueRef> GetProperties(const EcmaVM *ecmaVm, const FrameHandler *frameHandler,
int32_t level, uint32_t slot);
static void SetProperties(const EcmaVM *vm, const FrameHandler *frameHandler,
int32_t level, uint32_t slot, Local<JSValueRef> value);
static void SetProperties(const EcmaVM *vm, const FrameHandler *frameHandler, int32_t level,
uint32_t slot, Local<JSValueRef> value);
static std::pair<int32_t, uint32_t> GetLevelSlot(const FrameHandler *frameHandler, std::string_view name);
static Local<JSValueRef> GetGlobalValue(const EcmaVM *vm, Local<StringRef> name);
static bool SetGlobalValue(const EcmaVM *vm, Local<StringRef> name, Local<JSValueRef> value);

View File

@ -25,7 +25,6 @@
#include "ecmascript/ts_types/ts_obj_layout_info.h"
namespace panda::ecmascript {
class TSType : public TaggedObject {
public:
static constexpr size_t BIT_FIELD_OFFSET = TaggedObjectSize();