diff --git a/ets2panda/checker/ETSAnalyzer.cpp b/ets2panda/checker/ETSAnalyzer.cpp index a35397d0b8c46ba7ecf41bf291460bc34c09848c..749c7f5cc34d8644705d78f56f8d7364b525ec41 100644 --- a/ets2panda/checker/ETSAnalyzer.cpp +++ b/ets2panda/checker/ETSAnalyzer.cpp @@ -769,7 +769,7 @@ checker::Type *ETSAnalyzer::Check(ir::ETSKeyofType *node) const // compile methods for EXPRESSIONS in alphabetical order static void AddSpreadElementTypes(ETSChecker *checker, ir::SpreadElement *const element, - ArenaVector> &elementTypes) + std::vector> &elementTypes) { Type *const spreadType = element->Check(checker); @@ -803,9 +803,9 @@ static bool ValidArrayExprSizeForTupleSize(ETSChecker *checker, Type *possibleTu possibleTupleType->AsETSTupleType()); } -static ArenaVector> GetElementTypes(ETSChecker *checker, ir::ArrayExpression *expr) +static std::vector> GetElementTypes(ETSChecker *checker, ir::ArrayExpression *expr) { - ArenaVector> elementTypes(checker->ProgramAllocator()->Adapter()); + std::vector> elementTypes {}; auto *const exprPreferredType = expr->PreferredType(); auto *const exprTupleType = exprPreferredType->IsETSTupleType() ? exprPreferredType->AsETSTupleType() : nullptr; @@ -847,7 +847,7 @@ static Type *GetArrayElementType(ETSChecker *checker, Type *preferredType) } static bool CheckElement(ETSChecker *checker, Type *const preferredType, - ArenaVector> arrayExprElementTypes, std::size_t idx) + std::vector> arrayExprElementTypes, std::size_t idx) { auto [elementType, currentElement] = arrayExprElementTypes[idx]; @@ -934,7 +934,7 @@ static Type *InferPreferredTypeFromElements(ETSChecker *checker, ir::ArrayExpres static bool CheckArrayExpressionElements(ETSChecker *checker, ir::ArrayExpression *arrayExpr) { - const ArenaVector> arrayExprElementTypes = GetElementTypes(checker, arrayExpr); + const std::vector> arrayExprElementTypes = GetElementTypes(checker, arrayExpr); bool allElementsAssignable = !std::any_of(arrayExprElementTypes.begin(), arrayExprElementTypes.end(), [](auto &pair) { return pair.first->IsTypeError(); }); diff --git a/ets2panda/checker/TSchecker.h b/ets2panda/checker/TSchecker.h index 77756cb4891aa666dcdf36041f559260a12ff917..e60853343903954b757dcadc6db12e069fb2bdd0 100644 --- a/ets2panda/checker/TSchecker.h +++ b/ets2panda/checker/TSchecker.h @@ -320,11 +320,11 @@ public: // Object void ResolvePropertiesOfObjectType(ObjectType *type, ir::AstNode *member, - ArenaVector &signatureDeclarations, - ArenaVector &indexDeclarations, bool isInterface); + std::vector &signatureDeclarations, + std::vector &indexDeclarations, bool isInterface); void ResolveSignaturesOfObjectType(ObjectType *type, - ArenaVector &signatureDeclarations); - void ResolveIndexInfosOfObjectType(ObjectType *type, ArenaVector &indexDeclarations); + std::vector &signatureDeclarations); + void ResolveIndexInfosOfObjectType(ObjectType *type, std::vector &indexDeclarations); void ResolveDeclaredMembers(InterfaceType *type); bool ValidateInterfaceMemberRedeclaration(ObjectType *type, varbinder::Variable *prop, const lexer::SourcePosition &locInfo); @@ -366,7 +366,7 @@ public: void CreatePatternParameterName(ir::AstNode *node, std::stringstream &ss); void HandlePropertyPatternParameterName(ir::Property *prop, std::stringstream &ss); void ThrowReturnTypeCircularityError(ir::ScriptFunction *func); - ArgRange GetArgRange(const ArenaVector &signatures, ArenaVector *potentialSignatures, + ArgRange GetArgRange(const ArenaVector &signatures, std::vector *potentialSignatures, uint32_t callArgsSize, bool *haveSignatureWithRest); bool CallMatchesSignature(const ArenaVector &args, Signature *signature, bool throwError); Type *ResolveCallOrNewExpression(const ArenaVector &signatures, diff --git a/ets2panda/checker/ets/function.cpp b/ets2panda/checker/ets/function.cpp index f42c123c760130414ae1a5beef82b2a2157f2fe3..4c37a0976a33803e4ee51b814503e0a04e5a0a6f 100644 --- a/ets2panda/checker/ets/function.cpp +++ b/ets2panda/checker/ets/function.cpp @@ -166,7 +166,7 @@ bool ETSChecker::EnhanceSubstitutionForUnion(const ArenaVector &typePara } auto *const argUn = argumentType->AsETSUnionType(); - ArenaVector paramWlist(ProgramAllocator()->Adapter()); + std::vector paramWlist {}; ArenaVector argWlist(ProgramAllocator()->Adapter()); for (auto *pc : paramUn->ConstituentTypes()) { @@ -1532,7 +1532,7 @@ void ETSChecker::CheckObjectLiteralArguments(Signature *signature, ArenaVectorGetOverloadInfoForUpdate(); - ArenaVector overloads(checker->ProgramAllocator()->Adapter()); + std::vector overloads {}; for (ir::MethodDefinition *const currentFunc : method->Overloads()) { if (currentFunc->IsDeclare() != ldInfo.isDeclare) { diff --git a/ets2panda/checker/ets/typeCheckingHelpers.cpp b/ets2panda/checker/ets/typeCheckingHelpers.cpp index cd193f452313a1b09f34b39efb0a48bab3a12d3e..40475459df75edef9a31b8febc8232bf32546a50 100644 --- a/ets2panda/checker/ets/typeCheckingHelpers.cpp +++ b/ets2panda/checker/ets/typeCheckingHelpers.cpp @@ -1533,7 +1533,7 @@ bool ETSChecker::CheckLambdaTypeAnnotation(ir::ETSParameterExpression *param, // Preserve actual lambda types ir::ScriptFunction *const lambda = arrowFuncExpr->Function(); - ArenaVector lambdaParamTypes {ProgramAllocator()->Adapter()}; + std::vector lambdaParamTypes {}; for (auto *const lambdaParam : lambda->Params()) { lambdaParamTypes.emplace_back(lambdaParam->AsETSParameterExpression()->Ident()->TypeAnnotation()); } diff --git a/ets2panda/checker/ts/function.cpp b/ets2panda/checker/ts/function.cpp index 7b0634260ae6807f7d3a0a5ed3871690ee83a8db..967bdaf008739d7ad008055525da02c4eba37cc8 100644 --- a/ets2panda/checker/ts/function.cpp +++ b/ets2panda/checker/ts/function.cpp @@ -683,7 +683,7 @@ void TSChecker::CheckAllCodePathsInNonVoidFunctionReturnOrThrow(ir::ScriptFuncti } ArgRange TSChecker::GetArgRange(const ArenaVector &signatures, - ArenaVector *potentialSignatures, uint32_t callArgsSize, + std::vector *potentialSignatures, uint32_t callArgsSize, bool *haveSignatureWithRest) { uint32_t minArg = UINT32_MAX; @@ -752,7 +752,7 @@ Type *TSChecker::ResolveCallOrNewExpression(const ArenaVector &sign ThrowTypeError("This expression is not callable.", errPos); } - ArenaVector potentialSignatures(Allocator()->Adapter()); + std::vector potentialSignatures {}; bool haveSignatureWithRest = false; auto argRange = GetArgRange(signatures, &potentialSignatures, arguments.size(), &haveSignatureWithRest); diff --git a/ets2panda/checker/ts/object.cpp b/ets2panda/checker/ts/object.cpp index 0c9e3c25c32a4186ee55c6746a6e212a05cedbc7..e8c7bc1db6648c97731c18a00311f4f2ce816f2c 100644 --- a/ets2panda/checker/ts/object.cpp +++ b/ets2panda/checker/ts/object.cpp @@ -177,8 +177,8 @@ void TSChecker::ResolveObjectTypeMembers(ObjectType *type) ES2PANDA_ASSERT(type->Variable() && type->Variable()->Declaration()->Node()->IsTSTypeLiteral()); auto *typeLiteral = type->Variable()->Declaration()->Node()->AsTSTypeLiteral(); - ArenaVector signatureDeclarations(Allocator()->Adapter()); - ArenaVector indexDeclarations(Allocator()->Adapter()); + std::vector signatureDeclarations {}; + std::vector indexDeclarations {}; for (auto *it : typeLiteral->Members()) { ResolvePropertiesOfObjectType(type, it, signatureDeclarations, indexDeclarations, false); @@ -191,8 +191,8 @@ void TSChecker::ResolveObjectTypeMembers(ObjectType *type) } void TSChecker::ResolvePropertiesOfObjectType(ObjectType *type, ir::AstNode *member, - ArenaVector &signatureDeclarations, - ArenaVector &indexDeclarations, bool isInterface) + std::vector &signatureDeclarations, + std::vector &indexDeclarations, bool isInterface) { if (member->IsTSPropertySignature()) { varbinder::Variable *prop = member->AsTSPropertySignature()->Variable(); @@ -226,7 +226,7 @@ void TSChecker::ResolvePropertiesOfObjectType(ObjectType *type, ir::AstNode *mem } void TSChecker::ResolveSignaturesOfObjectType(ObjectType *type, - ArenaVector &signatureDeclarations) + std::vector &signatureDeclarations) { for (auto *it : signatureDeclarations) { Type *placeholderObj = it->Check(this); @@ -240,7 +240,7 @@ void TSChecker::ResolveSignaturesOfObjectType(ObjectType *type, type->AddConstructSignature(placeholderObj->AsObjectType()->ConstructSignatures()[0]); } } -void TSChecker::ResolveIndexInfosOfObjectType(ObjectType *type, ArenaVector &indexDeclarations) +void TSChecker::ResolveIndexInfosOfObjectType(ObjectType *type, std::vector &indexDeclarations) { for (auto *it : indexDeclarations) { Type *placeholderObj = it->Check(this); @@ -512,8 +512,8 @@ void TSChecker::ResolveDeclaredMembers(InterfaceType *type) ES2PANDA_ASSERT(type->Variable() && type->Variable()->Declaration()->IsInterfaceDecl()); varbinder::InterfaceDecl *decl = type->Variable()->Declaration()->AsInterfaceDecl(); - ArenaVector signatureDeclarations(Allocator()->Adapter()); - ArenaVector indexDeclarations(Allocator()->Adapter()); + std::vector signatureDeclarations {}; + std::vector indexDeclarations {}; for (const auto *declaration : decl->Decls()) { for (auto *member : declaration->Body()->Body()) { diff --git a/ets2panda/compiler/core/ETSCompiler.cpp b/ets2panda/compiler/core/ETSCompiler.cpp index fc921010efd67abd01808af32ff58f76ca59f6a1..5330f8b043005ff0f82821a4534f94e00c48cdbe 100644 --- a/ets2panda/compiler/core/ETSCompiler.cpp +++ b/ets2panda/compiler/core/ETSCompiler.cpp @@ -193,7 +193,7 @@ static void ConvertRestArguments(checker::ETSChecker *const checker, const ir::E static void HandleUnionTypeInForOf(compiler::ETSGen *etsg, checker::Type const *const exprType, const ir::ForOfStatement *st, VReg objReg, VReg *countReg) { - ArenaVector