Home
last modified time | relevance | path

Searched +full:checker +full:- (Results 1 – 25 of 1080) sorted by relevance

12345678910>>...44

/arkcompiler/ets_frontend/ets2panda/checker/
DTSAnalyzer.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include "checker/TSchecker.h"
19 #include "checker/ts/destructuringContext.h"
21 namespace ark::es2panda::checker { namespace
29 checker::Type *TSAnalyzer::Check(ir::CatchClause *st) const in Check()
31 TSChecker *checker = GetTSChecker(); in Check() local
32 ir::Expression *typeAnnotation = st->Param()->AsAnnotatedExpression()->TypeAnnotation(); in Check()
35 checker::Type *catchParamType = typeAnnotation->Check(checker); in Check()
37 if (!catchParamType->HasTypeFlag(checker::TypeFlag::ANY_OR_UNKNOWN)) { in Check()
[all …]
DETSAnalyzerHelpers.h2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
19 #include "checker/types/type.h"
21 #include "checker/ETSchecker.h"
22 #include "checker/ets/castingContext.h"
23 #include "checker/ets/typeRelationContext.h"
28 namespace ark::es2panda::checker {
29 void CheckExtensionIsShadowedInCurrentClassOrInterface(checker::ETSChecker *checker, checker::ETSOb…
31 checker::Signature *signature);
32 void CheckExtensionIsShadowedByMethod(checker::ETSChecker *checker, checker::ETSObjectType *objType,
[all …]
DETSAnalyzer.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include "checker/ETSchecker.h"
21 #include "checker/types/globalTypesHolder.h"
22 #include "checker/types/ets/etsTupleType.h"
26 #include "checker/types/ets/etsAsyncFuncReturnType.h"
31 namespace ark::es2panda::checker { namespace
39 checker::Type *ETSAnalyzer::Check(ir::CatchClause *st) const in Check()
41 ETSChecker *checker = GetETSChecker(); in Check() local
42 checker::Type *exceptionType = checker->GlobalTypeError(); in Check()
[all …]
DTSAnalyzer.h2 * Copyright (c) 2021 - 2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include "checker/SemanticAnalyzer.h"
19 #include "checker/TSchecker.h"
22 namespace ark::es2panda::checker {
26 explicit TSAnalyzer(Checker *checker) : SemanticAnalyzer(checker) {}; in TSAnalyzer() argument
27 /* CC-OFFNXT(G.PRE.02,G.PRE.09) name part*/
28 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
29 #define DECLARE_TSANALYZER_CHECK_METHOD(_, nodeType) checker::Type *Check(ir::nodeType *node) const…
33 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
[all …]
DETSAnalyzerHelpers.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
17 #include "checker/types/ets/etsAsyncFuncReturnType.h"
19 namespace ark::es2panda::checker { namespace
27 if (thisType->IsETSArrayType() || thisType->IsETSTypeParameter()) { in IsValidReceiverParameter()
31 if (!thisType->IsETSObjectType() || thisType->IsETSEnumType()) { in IsValidReceiverParameter()
35 auto *const thisObjectType = thisType->AsETSObjectType(); in IsValidReceiverParameter()
36 return thisObjectType->HasObjectFlag(ETSObjectFlags::CLASS | ETSObjectFlags::INTERFACE); in IsValidReceiverParameter()
39 void CheckExtensionIsShadowedInCurrentClassOrInterface(checker::ETSChecker *checker, checker::ETSOb… in CheckExtensionIsShadowedInCurrentClassOrInterface() argument
40 … ir::ScriptFunction *extensionFunc, checker::Signature *signature) in CheckExtensionIsShadowedInCurrentClassOrInterface()
[all …]
DETSAnalyzer.h2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
19 #include "checker/SemanticAnalyzer.h"
20 #include "checker/ETSchecker.h"
23 namespace ark::es2panda::checker {
27 explicit ETSAnalyzer(Checker *checker) : SemanticAnalyzer(checker) {}; in ETSAnalyzer() argument
28 // CC-OFFNXT(G.PRE.02,G.PRE.09) name part
29 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
30 #define DECLARE_ETSANALYZER_CHECK_METHOD(_, nodeType) checker::Type *Check(ir::nodeType *node) cons…
34 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
[all …]
DETSAnalyzerUnreachable.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
18 namespace ark::es2panda::checker { namespace
21 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::NamedType *node) const in Check()
26 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::PrefixAssertionExpression *expr) const in Check()
31 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::Decorator *st) const in Check()
36 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::MetaProperty *expr) const in Check()
41 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ScriptFunction *node) const in Check()
46 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSIndexSignature *node) const in Check()
51 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSMethodSignature *node) const in Check()
56 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSPropertySignature *node) const in Check()
[all …]
/arkcompiler/runtime_core/tests/checked/
Dchecker_tests.rb1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
15 require_relative 'checker'
28 asm ---
46 # Checker will clear working directory, so create it before we create disasm.txt file
47 checker = $CheckerForTest.new(OpenStruct.new({arch: 'x64'}), "")
50 checker.ASM_METHOD(/main/)
51 checker.ASM(x64: '---')
52 checker.ASM(x64: '000')
53 checker.ASM(x64: '333')
[all …]
/arkcompiler/runtime_core/static_core/tests/checked/
Dchecker_tests.rb2 # Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 # http://www.apache.org/licenses/LICENSE-2.0
16 require_relative 'checker'
29 asm ---
47 # Checker will clear working directory, so create it before we create disasm.txt file
48 checker = $CheckerForTest.new(OpenStruct.new({arch: 'x64'}), "")
51 checker.ASM_METHOD(/main/)
52 checker.ASM(x64: '---')
53 checker.ASM(x64: '000')
54 checker.ASM(x64: '333')
[all …]
/arkcompiler/ets_frontend/ets2panda/ir/statements/
DforOfStatement.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include "checker/TSchecker.h"
24 checker::Type *ForOfStatement::CreateUnionIteratorTypes(checker::ETSChecker *checker, checker::Type… in CreateUnionIteratorTypes() argument
26 ArenaVector<checker::Type *> types(checker->Allocator()->Adapter()); in CreateUnionIteratorTypes()
28 for (auto it : exprType->AsETSUnionType()->ConstituentTypes()) { in CreateUnionIteratorTypes()
29 if (it->IsETSStringType()) { in CreateUnionIteratorTypes()
30 types.push_back(checker->GetGlobalTypesHolder()->GlobalCharType()); in CreateUnionIteratorTypes()
31 } else if (it->IsETSObjectType()) { in CreateUnionIteratorTypes()
32 types.push_back(this->CheckIteratorMethodForObject(checker, it->AsETSObjectType())); in CreateUnionIteratorTypes()
[all …]
DforOfStatement.h2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
19 #include <checker/types/signature.h>
26 namespace ark::es2panda::checker {
29 } // namespace ark::es2panda::checker
34 // NOLINTBEGIN(modernize-avoid-c-arrays)
38 // NOLINTEND(modernize-avoid-c-arrays)
41 friend class checker::ETSAnalyzer;
99 checker::Type *Check(checker::TSChecker *checker) override;
100 checker::VerifiedType Check(checker::ETSChecker *checker) override;
[all …]
/arkcompiler/ets_frontend/ets2panda/test/unit/
Dunion_normalization_test_1.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
19 #include "checker/ETSAnalyzer.h"
20 #include "checker/ETSchecker.h"
35 #include "checker/types/globalTypesHolder.h"
46 auto checker = Checker(); in TEST_F() local
47 ASSERT(checker); in TEST_F()
49 ArenaVector<checker::Type *> unionConstituents(checker->Allocator()->Adapter()); in TEST_F()
50 unionConstituents.emplace_back(checker->GlobalIntType()); in TEST_F()
51 unionConstituents.emplace_back(checker->GetGlobalTypesHolder()->GlobalETSObjectType()); in TEST_F()
[all …]
Dunion_normalization_test_2.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
19 #include "checker/ETSAnalyzer.h"
20 #include "checker/ETSchecker.h"
35 #include "checker/types/globalTypesHolder.h"
56 auto *const baseType = FindClassType(program->VarBinder()->AsETSBinder(), "Base"); in TEST_F()
58 auto *const derived1Type = FindClassType(program->VarBinder()->AsETSBinder(), "Derived1"); in TEST_F()
60 auto *const derived2Type = FindClassType(program->VarBinder()->AsETSBinder(), "Derived2"); in TEST_F()
63 auto checker = Checker(); in TEST_F() local
64 ASSERT(checker); in TEST_F()
[all …]
/arkcompiler/ets_frontend/es2panda/ir/ts/
DtsTupleType.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include <typescript/checker.h>
34 dumper->Add({{"type", "TSTupleType"}, {"elementTypes", elementTypes_}}); in Dump()
39 checker::Type *TSTupleType::GetType(checker::Checker *checker) const in GetType()
41 auto found = checker->NodeCache().find(this); in GetType()
42 if (found != checker->NodeCache().end()) { in GetType()
43 return found->second; in GetType()
46checker::ObjectDescriptor *desc = checker->Allocator()->New<checker::ObjectDescriptor>(checker->Al… in GetType()
48 checker::NamedTupleMemberPool namedMembers; in GetType()
49 ArenaVector<checker::ElementFlags> elementFlags(checker->Allocator()->Adapter()); in GetType()
[all …]
DtsIndexedAccessType.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include <typescript/checker.h>
31 …dumper->Add({{"type", "TSIndexedAccessType"}, {"objectType", objectType_}, {"indexType", indexType… in Dump()
36 checker::Type *TSIndexedAccessType::Check(checker::Checker *checker) const in Check()
38 objectType_->Check(checker); in Check()
39 indexType_->Check(checker); in Check()
40 checker::Type *resolved = GetType(checker); in Check()
46 checker::Type *indexType = checker->CheckTypeCached(indexType_); in Check()
48 if (!indexType->HasTypeFlag(checker::TypeFlag::STRING_LIKE | checker::TypeFlag::NUMBER_LIKE)) { in Check()
49checker->ThrowTypeError({"Type ", indexType, " cannot be used as index type"}, indexType_->Start()… in Check()
[all …]
DtsTypeLiteral.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
19 #include <typescript/checker.h>
32 dumper->Add({{"type", "TSTypeLiteral"}, {"members", members_}}); in Dump()
37 checker::Type *TSTypeLiteral::Check(checker::Checker *checker) const in Check()
40 it->Check(checker); in Check()
43 checker::Type *type = GetType(checker); in Check()
44 checker->CheckIndexConstraints(type); in Check()
49 checker::Type *TSTypeLiteral::GetType(checker::Checker *checker) const in GetType()
51 auto found = checker->NodeCache().find(this); in GetType()
52 if (found != checker->NodeCache().end()) { in GetType()
[all …]
/arkcompiler/ets_frontend/es2panda/ir/expressions/
DarrayExpression.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
33 switch (it->Type()) { in ConvertibleToArrayPattern()
35 convResult = it->AsArrayExpression()->ConvertibleToArrayPattern(); in ConvertibleToArrayPattern()
40 convResult = it->AsSpreadElement()->ConvertibleToRest(isDeclaration_); in ConvertibleToArrayPattern()
48 convResult = it->AsObjectExpression()->ConvertibleToObjectPattern(); in ConvertibleToArrayPattern()
52 convResult = it->AsAssignmentExpression()->ConvertibleToAssignmentPattern(); in ConvertibleToArrayPattern()
80 switch (it->Type()) { in ValidateExpression()
82 info = it->AsObjectExpression()->ValidateExpression(); in ValidateExpression()
86 info = it->AsArrayExpression()->ValidateExpression(); in ValidateExpression()
90 auto *assignmentExpr = it->AsAssignmentExpression(); in ValidateExpression()
[all …]
/arkcompiler/ets_frontend/ets2panda/ir/ts/
DtsTupleType.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
22 #include "checker/TSchecker.h"
23 #include "checker/types/ts/indexInfo.h"
34 it->SetTransformedNode(transformationName, transformedNode); in TransformChildren()
40 it->SetTransformedNode(transformationName, transformedNode); in TransformChildren()
41 it = transformedNode->AsAnnotationUsage(); in TransformChildren()
58 dumper->Add({{"type", "TSTupleType"}, in Dump()
66 anno->Dump(dumper); in Dump()
68 dumper->Add("TSTupleType"); in Dump()
[all …]
/arkcompiler/ets_frontend/ets2panda/ir/expressions/
DmemberExpression.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include "checker/TSchecker.h"
19 #include "checker/ets/castingContext.h"
20 #include "checker/types/ets/etsTupleType.h"
30 …object_ = other.object_ != nullptr ? other.object_->Clone(allocator, this)->AsExpression() : nullp… in MemberExpression()
31 …property_ = other.property_ != nullptr ? other.property_->Clone(allocator, this)->AsExpression() :… in MemberExpression()
36 return property_->IsIdentifier() && property_->AsIdentifier()->IsPrivateIdent(); in IsPrivateReference()
42 object_->SetTransformedNode(transformationName, transformedNode); in TransformChildren()
43 object_ = transformedNode->AsExpression(); in TransformChildren()
[all …]
DmemberExpression.h2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
19 #include "checker/checkerContext.h"
20 #include "checker/types/ets/etsObjectType.h"
28 namespace ark::es2panda::checker {
31 } // namespace ark::es2panda::checker
35 // NOLINTBEGIN(modernize-avoid-c-arrays)
37 // NOLINTEND(modernize-avoid-c-arrays)
59 friend class checker::ETSAnalyzer;
100 object_->SetParent(this);
[all …]
DarrayExpression.cpp2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
19 #include "checker/ETSchecker.h"
20 #include "checker/TSchecker.h"
21 #include "checker/ets/typeRelationContext.h"
22 #include "checker/ts/destructuringContext.h"
23 #include "checker/types/ets/etsTupleType.h"
31 decorators_(allocator->Adapter()), in ArrayExpression()
32 elements_(allocator->Adapter()) in ArrayExpression()
40 elements_.emplace_back(element->Clone(allocator, this)->AsExpression()); in ArrayExpression()
[all …]
/arkcompiler/ets_frontend/ets2panda/checker/typeChecker/
DTypeChecker.h2 * Copyright (c) 2021 - 2025 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
21 namespace ark::es2panda::checker {
24 * This class should be launched after Checker pass.
25 …* Should contain all type checks, which are non-critical for `Checker` (`Checker` can keep working…
30 // NOTE(aleksisch): after merging #14938 add `const-AstVisitor` and make this pass const
33 node->Accept(this); in Check()
38 explicit TypeChecker(Checker *checker) : checker_(checker) {} in TypeChecker() argument
43 checker_->LogError(diagnostic, diagnosticParams, pos); in LogError()
47 Checker *const checker_;
[all …]
/arkcompiler/ets_frontend/ets2panda/lsp/src/
Disolated_declaration.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
16 #include "checker/ETSchecker.h"
17 #include "checker/types/ets/etsFunctionType.h"
47 …d::optional<std::string> GenReturnTypeStr(const checker::Type *checkerType, checker::ETSChecker *c…
48 …td::optional<std::string> GenUnionType(const checker::ETSUnionType *unionType, checker::ETSChecker…
52 …Type *> FilterUnionTypes(const ArenaVector<UnionType *> &originTypes, checker::ETSChecker *checker) in FilterUnionTypes() argument
61 std::string typeStr = originType->ToString(); in FilterUnionTypes()
63 if (originType->IsTSThisType()) { in FilterUnionTypes()
67 typeStr = originType->GetType(checker)->ToString(); in FilterUnionTypes()
86 std::optional<std::string> HandleSpecificObjectTypes(const checker::ETSObjectType *objectType, in HandleSpecificObjectTypes()
[all …]
/arkcompiler/ets_frontend/ets2panda/compiler/lowering/ets/
DasyncMethodLowering.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
18 #include "checker/ETSchecker.h"
19 #include "checker/types/ets/etsAsyncFuncReturnType.h"
29 static void CreateFuncDecl(checker::ETSChecker *checker, ir::MethodDefinition *func, varbinder::Loc… in CreateFuncDecl() argument
31 auto *allocator = checker->Allocator(); in CreateFuncDecl()
32 auto *varBinder = checker->VarBinder(); in CreateFuncDecl()
35 ES2PANDA_ASSERT(func->Id() != nullptr); in CreateFuncDecl()
36 …varbinder::Variable *var = scope->FindLocal(func->Id()->Name(), varbinder::ResolveBindingOptions::… in CreateFuncDecl()
39 …varBinder->NewVarDecl<varbinder::FunctionDecl>(func->Id()->Start(), allocator, func->Id()->Name(),… in CreateFuncDecl()
41 var->AddFlag(varbinder::VariableFlags::METHOD); in CreateFuncDecl()
[all …]
/arkcompiler/ets_frontend/ets2panda/compiler/core/
DETSGen-inl.h7 * http://www.apache.org/licenses/LICENSE-2.0
21 #include "checker/ETSchecker.h"
26 void ETSGen::MoveImmediateToRegister(const ir::AstNode *node, VReg reg, const checker::TypeFlag val… in MoveImmediateToRegister()
30 case checker::TypeFlag::ETS_BOOLEAN: in MoveImmediateToRegister()
32 case checker::TypeFlag::BYTE: { in MoveImmediateToRegister()
33 Ra().Emit<Movi>(node, reg, static_cast<checker::ByteType::UType>(value)); in MoveImmediateToRegister()
34 SetVRegType(reg, Checker()->GlobalByteType()); in MoveImmediateToRegister()
37 case checker::TypeFlag::CHAR: { in MoveImmediateToRegister()
38 Ra().Emit<Movi>(node, reg, static_cast<checker::CharType::UType>(value)); in MoveImmediateToRegister()
39 SetVRegType(reg, Checker()->GlobalCharType()); in MoveImmediateToRegister()
[all …]

12345678910>>...44