diff --git a/ets2panda/checker/ets/dynamic.cpp b/ets2panda/checker/ets/dynamic.cpp index 7b589e781bfa049ec5302cdddf69eaa8b676953b..93a5d32808d0c1f71fe9969cac04804fca1f713b 100644 --- a/ets2panda/checker/ets/dynamic.cpp +++ b/ets2panda/checker/ets/dynamic.cpp @@ -705,6 +705,7 @@ void ETSChecker::BuildLambdaObjectClass(ETSObjectType *functionalInterface, ir:: { auto *invokeMethod = functionalInterface->GetOwnProperty( compiler::Signatures::STATIC_INVOKE_METHOD); + ES2PANDA_ASSERT(invokeMethod != nullptr); auto *invokeSignature = invokeMethod->TsType()->AsETSFunctionType()->CallSignatures()[0]; ES2PANDA_ASSERT(invokeSignature != nullptr); std::stringstream ss; diff --git a/ets2panda/checker/ets/typeRelationContext.h b/ets2panda/checker/ets/typeRelationContext.h index b198336e9f6d280cd00236ea4e48ebe7353b7cae..084d01c2a3824f938935cdf1e496c660a761999d 100644 --- a/ets2panda/checker/ets/typeRelationContext.h +++ b/ets2panda/checker/ets/typeRelationContext.h @@ -36,6 +36,7 @@ public: ES2PANDA_ASSERT(target != nullptr); ES2PANDA_ASSERT(node != nullptr); + ES2PANDA_ASSERT(source != nullptr); if (target->IsETSArrayType() && node->IsArrayExpression()) { assignable_ = ValidateArrayTypeInitializerByElement(relation, node->AsArrayExpression(), target->AsETSArrayType()); diff --git a/ets2panda/checker/types/ets/etsFunctionType.cpp b/ets2panda/checker/types/ets/etsFunctionType.cpp index 82d5ba909e6ddc0de01cd4ede9ba46b172482bc5..533f62eb4740b3bbb284cc02eac1d4c07e5f1ad1 100644 --- a/ets2panda/checker/types/ets/etsFunctionType.cpp +++ b/ets2panda/checker/types/ets/etsFunctionType.cpp @@ -79,6 +79,8 @@ static ETSObjectType *FunctionTypeToFunctionalInterfaceType(ETSChecker *checker, auto nPosParams = arity < sigParamsSize ? arity : sigParamsSize; auto *functionN = checker->GlobalBuiltinFunctionType(nPosParams, true); auto *substitution = checker->NewSubstitution(); + ES2PANDA_ASSERT(functionN != nullptr); + ES2PANDA_ASSERT(substitution != nullptr); for (size_t i = 0; i < nPosParams; i++) { substitution->emplace(functionN->TypeArguments()[i]->AsETSTypeParameter(), checker->MaybeBoxType(signature->Params()[i]->TsType())); @@ -86,8 +88,6 @@ static ETSObjectType *FunctionTypeToFunctionalInterfaceType(ETSChecker *checker, auto *elementType = !signature->RestVar()->TsType()->IsETSTupleType() ? checker->GetElementTypeOfArray(signature->RestVar()->TsType()) : checker->GlobalETSAnyType(); - ES2PANDA_ASSERT(functionN != nullptr); - ES2PANDA_ASSERT(substitution != nullptr); substitution->emplace(functionN->TypeArguments()[0]->AsETSTypeParameter(), checker->MaybeBoxType(elementType)); return functionN->Substitute(checker->Relation(), substitution, true, isExtensionHack); } diff --git a/ets2panda/checker/types/typeRelation.cpp b/ets2panda/checker/types/typeRelation.cpp index 4055cf91d7b88c1808ad04385955c9a25580f4bb..f96b0ffa6d4487f7754b8c7bb8fd91ca0694a63b 100644 --- a/ets2panda/checker/types/typeRelation.cpp +++ b/ets2panda/checker/types/typeRelation.cpp @@ -162,6 +162,7 @@ bool TypeRelation::IsComparableTo(Type *source, Type *target) // NOTE: vpukhov. reimplement dynamic comparison and remove this check ES2PANDA_ASSERT(source != nullptr); + ES2PANDA_ASSERT(target != nullptr); if (source->IsETSDynamicType() || target->IsETSDynamicType()) { if (!(source->IsETSDynamicType() && target->IsETSDynamicType())) { return false; diff --git a/ets2panda/declgen_ets2ts/declgenEts2Ts.cpp b/ets2panda/declgen_ets2ts/declgenEts2Ts.cpp index 71733e0173a9534360d613239ab962dd554da7ff..86b07c9683027779dc99e49e7ffd71d4eab4d849 100644 --- a/ets2panda/declgen_ets2ts/declgenEts2Ts.cpp +++ b/ets2panda/declgen_ets2ts/declgenEts2Ts.cpp @@ -1672,6 +1672,7 @@ bool TSDeclGen::GenInterfaceProp(const ir::MethodDefinition *methodDef) OutDts("?"); } OutDts(": "); + ES2PANDA_ASSERT(methodDef->Function() != nullptr); GenType(methodDef->Function()->Signature()->ReturnType()); OutDts(";"); OutEndlDts(); diff --git a/ets2panda/parser/ETSparser.cpp b/ets2panda/parser/ETSparser.cpp index f0713b82cdc2a01fe8bd04d52b3214db2388a398..7c01ae71d99b5d4c4b9c82cd26fb104174d7cdc2 100644 --- a/ets2panda/parser/ETSparser.cpp +++ b/ets2panda/parser/ETSparser.cpp @@ -159,7 +159,6 @@ void ETSParser::ParseFileHeaderFlag(lexer::SourcePosition startLoc, ArenaVector< auto *exprStatementNode = AllocNode(fileHeaderFlag); ES2PANDA_ASSERT(exprStatementNode != nullptr); exprStatementNode->SetRange({startLoc, fileHeaderFlag->End()}); - ES2PANDA_ASSERT(exprStatementNode != nullptr); ConsumeSemicolon(exprStatementNode); if (statements != nullptr) { statements->push_back(exprStatementNode); @@ -1160,6 +1159,7 @@ ir::Statement *ETSParser::ParseExport(lexer::SourcePosition startLoc, ir::Modifi auto *reExportDeclaration = ParseImportPathBuildImport(std::move(specifiers), true, startLoc, ir::ImportKinds::ALL); auto reExport = AllocNode(reExportDeclaration, std::vector(), GetProgram()->AbsoluteName(), Allocator()); + ES2PANDA_ASSERT(reExport != nullptr); reExport->AddModifier(modifiers); return reExport; }