From cc989a18a7a24ef67e2d2748d8383fdce90be45c Mon Sep 17 00:00:00 2001 From: jiangkaiwen Date: Tue, 22 Nov 2022 07:25:53 +0000 Subject: [PATCH] Fix codecheck warnings of security compliance 1.Const modifies functions and formal parameters that do not need to be modified 2.Unsigned variables are defined by uint 3.The formal parameters and actual parameters are named the same Issue:I62MGK Signed-off-by: jiangkaiwen Change-Id: I650d0aed4d763d40259af5594e4bd45b96b00024 --- es2panda/binder/variable.h | 2 +- es2panda/compiler/core/regAllocator.cpp | 5 ++--- es2panda/compiler/core/regAllocator.h | 4 ++-- es2panda/ir/expressions/literals/bigIntLiteral.cpp | 2 +- es2panda/parser/parserImpl.cpp | 4 ++-- es2panda/parser/parserImpl.h | 4 ++-- es2panda/parser/transformer/transformer.cpp | 14 +++++++------- es2panda/parser/transformer/transformer.h | 2 +- ts2panda/ts2abc/ts2abc.cpp | 8 ++++---- ts2panda/ts2abc/ts2abc.h | 2 +- 10 files changed, 23 insertions(+), 24 deletions(-) diff --git a/es2panda/binder/variable.h b/es2panda/binder/variable.h index 170055cf16..ad25898681 100644 --- a/es2panda/binder/variable.h +++ b/es2panda/binder/variable.h @@ -49,7 +49,7 @@ public: NO_COPY_SEMANTIC(Variable); NO_MOVE_SEMANTIC(Variable); - VariableType virtual Type() const = 0; + virtual VariableType Type() const = 0; #define DECLARE_CHECKS_CASTS(variableType, className) \ bool Is##className() const \ diff --git a/es2panda/compiler/core/regAllocator.cpp b/es2panda/compiler/core/regAllocator.cpp index c6d9ac3537..7c41a1bd4d 100644 --- a/es2panda/compiler/core/regAllocator.cpp +++ b/es2panda/compiler/core/regAllocator.cpp @@ -120,7 +120,6 @@ void RegAllocator::AdjustInsRegWhenHasSpill() std::vector regsKind; std::array regs {}; auto regCnt = ins->Registers(®s); - if (regCnt == 0) { newInsns.push_back(ins); continue; @@ -148,8 +147,8 @@ void RegAllocator::AdjustInsRegWhenHasSpill() pg_->SetInsns(newInsns); } -void RegAllocator::AdjustInsSpill(Span ®isters, IRNode *ins, ArenaList &newInsns, - std::vector ®sKind) +void RegAllocator::AdjustInsSpill(const Span ®isters, IRNode *ins, ArenaList &newInsns, + const std::vector ®sKind) { ASSERT(spillIndex_ == 0); ASSERT(!regsKind.empty()); diff --git a/es2panda/compiler/core/regAllocator.h b/es2panda/compiler/core/regAllocator.h index 202d43a126..75b63696e6 100644 --- a/es2panda/compiler/core/regAllocator.h +++ b/es2panda/compiler/core/regAllocator.h @@ -122,8 +122,8 @@ private: void Run(IRNode *ins); void Run(IRNode *ins, size_t argCount); void Run(IRNode *ins, int64_t typeIndex); - void AdjustInsSpill(Span ®isters, IRNode *ins, ArenaList &newInsns, - std::vector ®sKind); + void AdjustInsSpill(const Span ®isters, IRNode *ins, ArenaList &newInsns, + const std::vector ®sKind); void AdjustRangeInsSpill(Span ®isters, IRNode *ins, ArenaList &newInsns); template diff --git a/es2panda/ir/expressions/literals/bigIntLiteral.cpp b/es2panda/ir/expressions/literals/bigIntLiteral.cpp index 0a274fa6a2..47251cae62 100644 --- a/es2panda/ir/expressions/literals/bigIntLiteral.cpp +++ b/es2panda/ir/expressions/literals/bigIntLiteral.cpp @@ -30,7 +30,7 @@ void BigIntLiteral::Dump(ir::AstDumper *dumper) const void BigIntLiteral::Compile(compiler::PandaGen *pg) const { - util::StringView bigIntValue = src_.Substr(0, src_.Length()-1); + util::StringView bigIntValue = src_.Substr(0, src_.Length() - 1); pg->LoadAccumulatorBigInt(this, bigIntValue); } diff --git a/es2panda/parser/parserImpl.cpp b/es2panda/parser/parserImpl.cpp index 908c246cd9..11f74ffc37 100644 --- a/es2panda/parser/parserImpl.cpp +++ b/es2panda/parser/parserImpl.cpp @@ -807,7 +807,7 @@ bool ParserImpl::IsTSNamedTupleMember() return isNamedMember; } -void ParserImpl::HandleRestType(ir::AstNodeType elementType, bool *hasRestType) +void ParserImpl::HandleRestType(ir::AstNodeType elementType, bool *hasRestType) const { if (elementType == ir::AstNodeType::TS_ARRAY_TYPE && *hasRestType) { ThrowSyntaxError("A rest element cannot follow another rest element"); @@ -3460,7 +3460,7 @@ ir::Expression *ParserImpl::ParseFunctionParameter(bool isDeclare) return functionParameter; } -void ParserImpl::ValidateLvalueAssignmentTarget(ir::Expression *node) +void ParserImpl::ValidateLvalueAssignmentTarget(ir::Expression *node) const { switch (node->Type()) { case ir::AstNodeType::IDENTIFIER: { diff --git a/es2panda/parser/parserImpl.h b/es2panda/parser/parserImpl.h index 7b50fd675c..5a08d6fc65 100644 --- a/es2panda/parser/parserImpl.h +++ b/es2panda/parser/parserImpl.h @@ -260,7 +260,7 @@ private: ir::Expression *ParseTsQualifiedReference(ir::Expression *typeName); ir::Expression *ParseTsTypeReferenceOrQuery(bool parseQuery = false); bool IsTSNamedTupleMember(); - void HandleRestType(ir::AstNodeType elementType, bool *hasRestType); + void HandleRestType(ir::AstNodeType elementType, bool *hasRestType) const; ir::Expression *ParseTsTupleElement(ir::TSTupleKind *kind, bool *seenOptional, bool *hasRestType); ir::TSTupleType *ParseTsTupleType(); ir::TSImportType *ParseTsImportType(const lexer::SourcePosition &startLoc, bool isTypeof = false); @@ -403,7 +403,7 @@ private: ir::AstNode *ParseImportDefaultSpecifier(ArenaVector *specifiers); ir::AstNode *ParseImportSpecifiers(ArenaVector *specifiers); void ValidateAssignmentTarget(ExpressionParseFlags flags, ir::Expression *node); - void ValidateLvalueAssignmentTarget(ir::Expression *node); + void ValidateLvalueAssignmentTarget(ir::Expression *node) const; void ValidateArrowParameterBindings(const ir::Expression *node); ir::ExportDefaultDeclaration *ParseExportDefaultDeclaration(const lexer::SourcePosition &startLoc, diff --git a/es2panda/parser/transformer/transformer.cpp b/es2panda/parser/transformer/transformer.cpp index 759caa569d..83988e9f93 100644 --- a/es2panda/parser/transformer/transformer.cpp +++ b/es2panda/parser/transformer/transformer.cpp @@ -680,10 +680,10 @@ std::vector Transformer::CreateParamDecorators(util::StringView c */ std::vector res; auto paramsDecorators = node->GetParamDecorators(); - for (int i = paramsDecorators.size() - 1; i >= 0; i--) { + for (uint32_t i = paramsDecorators.size() - 1; i >= 0; i--) { auto paramIndex = paramsDecorators[i].paramIndex; auto decorators = paramsDecorators[i].decorators; - for (int j = decorators.size() - 1; j >= 0; j--) { + for (uint32_t j = decorators.size() - 1; j >= 0; j--) { ArenaVector arguments(Allocator()->Adapter()); arguments.push_back(CreateDecoratorTarget(className, isConstructor || isStatic)); arguments.push_back(isConstructor ? @@ -719,7 +719,7 @@ std::vector Transformer::CreatePropertyDecorators(util::StringVie */ std::vector res; auto decorators = node->Decorators(); - for (int i = decorators.size() - 1; i >= 0; i--) { + for (uint32_t i = decorators.size() - 1; i >= 0; i--) { ArenaVector arguments(Allocator()->Adapter()); arguments.push_back(CreateDecoratorTarget(className, isStatic)); arguments.push_back(GetClassMemberName(node->Key(), node->IsComputed(), node)); @@ -755,7 +755,7 @@ std::vector Transformer::CreateMethodDecorators(util::StringView */ std::vector res; auto decorators = node->Decorators(); - for (int i = decorators.size() - 1; i >= 0; i--) { + for (uint32_t i = decorators.size() - 1; i >= 0; i--) { ArenaVector arguments(Allocator()->Adapter()); arguments.push_back(CreateDecoratorTarget(className, isStatic)); arguments.push_back(GetClassMemberName(node->Key(), node->Computed(), node)); @@ -776,9 +776,9 @@ std::vector Transformer::CreateMethodDecorators(util::StringView return res; } -ir::Expression *Transformer::CreateDecoratorTarget(util::StringView className, bool targetCtor) +ir::Expression *Transformer::CreateDecoratorTarget(util::StringView className, bool isStatic) { - if (targetCtor) { + if (isStatic) { return CreateReferenceIdentifier(className); } return CreateClassPrototype(className); @@ -856,7 +856,7 @@ std::vector Transformer::CreateClassDecorators(ir::ClassDeclarati auto decorators = node->Decorators(); auto size = decorators.size(); std::vector res; - for (int i = size - 1; i >= 0; i--) { + for (uint32_t i = size - 1; i >= 0; i--) { ArenaVector arguments(Allocator()->Adapter()); arguments.push_back(CreateReferenceIdentifier(name)); auto *callExpr = AllocNode(decorators[i]->Expr(), std::move(arguments), nullptr, false); diff --git a/es2panda/parser/transformer/transformer.h b/es2panda/parser/transformer/transformer.h index 3d109cdb75..727c90b24c 100644 --- a/es2panda/parser/transformer/transformer.h +++ b/es2panda/parser/transformer/transformer.h @@ -115,7 +115,7 @@ private: ir::Expression *init = nullptr, bool needBinding = true); ir::CallExpression *CreateCallExpressionForTsModule(ir::TSModuleDeclaration *node, - util::StringView paramName, + util::StringView name, bool isExport = false); ir::Expression *CreateTsModuleParam(util::StringView paramName, bool isExport); ir::ExpressionStatement *CreateTsModuleAssignment(util::StringView name); diff --git a/ts2panda/ts2abc/ts2abc.cpp b/ts2panda/ts2abc/ts2abc.cpp index 9b0be99403..f244ae8830 100644 --- a/ts2panda/ts2abc/ts2abc.cpp +++ b/ts2panda/ts2abc/ts2abc.cpp @@ -1450,7 +1450,7 @@ static bool EmitProgram(const std::string &output, int optLevel, std::string opt return true; } -static bool EmitAndRestoreProgram(panda::pandasm::Program &prog, panda::ts2abc::Options options) +static bool EmitAndRestoreProgram(panda::pandasm::Program &prog, const panda::ts2abc::Options options) { if (!EmitProgram(g_outputFileName, options.GetOptLevelArg(), options.GetOptLogLevelArg(), prog)) { std::cerr << "fail to emit porgram " << g_outputFileName << " in HandleBuffer" << std::endl; @@ -1462,7 +1462,7 @@ static bool EmitAndRestoreProgram(panda::pandasm::Program &prog, panda::ts2abc:: } static bool HandleBuffer(const int &ret, char *buff, std::string &data, panda::pandasm::Program &prog, - panda::ts2abc::Options options) + const panda::ts2abc::Options options) { uint32_t startPos = 0; if (options.IsMultiProgramsPipe() && ((buff[0] == '*' && data.back() != '#') || @@ -1509,7 +1509,7 @@ static bool HandleBuffer(const int &ret, char *buff, std::string &data, panda::p return true; } -static bool ReadFromPipe(panda::pandasm::Program &prog, panda::ts2abc::Options options) +static bool ReadFromPipe(panda::pandasm::Program &prog, const panda::ts2abc::Options options) { std::string data; const size_t bufSize = 4096; @@ -1536,7 +1536,7 @@ static bool ReadFromPipe(panda::pandasm::Program &prog, panda::ts2abc::Options o return true; } -bool GenerateProgramsFromPipe(panda::ts2abc::Options options) +bool GenerateProgramsFromPipe(const panda::ts2abc::Options options) { panda::pandasm::Program prog = panda::pandasm::Program(); prog.lang = panda::pandasm::extensions::Language::ECMASCRIPT; diff --git a/ts2panda/ts2abc/ts2abc.h b/ts2panda/ts2abc/ts2abc.h index dfcee1e337..390924d22e 100644 --- a/ts2panda/ts2abc/ts2abc.h +++ b/ts2panda/ts2abc/ts2abc.h @@ -52,7 +52,7 @@ enum class OptLevel { bool HandleJsonFile(const std::string &input, std::string &data); bool GenerateProgram(const std::string &data, const std::string &output, panda::ts2abc::Options options); -bool GenerateProgramsFromPipe(panda::ts2abc::Options options); +bool GenerateProgramsFromPipe(const panda::ts2abc::Options options); bool CompileNpmEntries(const std::string &input, const std::string &output); bool GetDebugLog(); void ParseLogEnable(const Json::Value &rootValue); -- Gitee