Home
last modified time | relevance | path

Searched full:checker (Results 1 – 25 of 1410) sorted by relevance

12345678910>>...57

/arkcompiler/ets_frontend/ets2panda/checker/
DETSAnalyzerHelpers.h19 #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,
33 … ir::ScriptFunction *extensionFunc, checker::Signature *signature);
34 void CheckExtensionMethod(checker::ETSChecker *checker, ir::ScriptFunction *extensionFunc, ir::AstN…
[all …]
DTSAnalyzer.cpp18 #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
35 checker::Type *catchParamType = typeAnnotation->Check(checker); in Check()
37 if (!catchParamType->HasTypeFlag(checker::TypeFlag::ANY_OR_UNKNOWN)) { in Check()
38checker->ThrowTypeError("Catch clause variable type annotation must be 'any' or 'unknown' if speci… in Check()
43 st->Body()->Check(checker); in Check()
48 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ClassDefinition *node) const in Check()
[all …]
DETSAnalyzer.cpp18 #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()
50checker::Type *catchParamAnnotationType = paramIdent->TypeAnnotation()->GetType(checker); in Check()
51 …exceptionType = checker->CheckExceptionOrErrorType(catchParamAnnotationType, st->Param()->Start()); in Check()
[all …]
DTSAnalyzer.h18 #include "checker/SemanticAnalyzer.h"
19 #include "checker/TSchecker.h"
22 namespace ark::es2panda::checker {
26 explicit TSAnalyzer(Checker *checker) : SemanticAnalyzer(checker) {}; in TSAnalyzer() argument
29 #define DECLARE_TSANALYZER_CHECK_METHOD(_, nodeType) checker::Type *Check(ir::nodeType *node) const…
35 …virtual checker::Type *Check(ir::nodeType *node) const override; // CC-OFF(G.PRE.02,G.PRE.09) nam…
39checker::Type *CheckDeleteKeyword([[maybe_unused]] checker::TSChecker *checker, ir::UnaryExpressio…
40checker::Type *CheckLiteral([[maybe_unused]] checker::TSChecker *checker, ir::UnaryExpression *exp…
41checker::Type *CheckAssignmentExprOperatorType(ir::AssignmentExpression *expr, checker::Type *left…
42 checker::Type *rightType) const;
[all …]
DETSAnalyzerUnreachable.cpp18 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()
61 checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSSignatureDeclaration *node) const in Check()
[all …]
DTSAnalyzerUnreachable.cpp18 namespace ark::es2panda::checker { namespace
21 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::NamedType *node) const in Check()
26 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::PrefixAssertionExpression *expr) const in Check()
31 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ClassProperty *st) const in Check()
36 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ClassStaticBlock *st) const in Check()
41 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::Decorator *st) const in Check()
46 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::MethodDefinition *node) const in Check()
51 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::Property *expr) const in Check()
56 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ScriptFunction *node) const in Check()
61 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::SpreadElement *expr) const in Check()
[all …]
DETSAnalyzer.h19 #include "checker/SemanticAnalyzer.h"
20 #include "checker/ETSchecker.h"
23 namespace ark::es2panda::checker {
27 explicit ETSAnalyzer(Checker *checker) : SemanticAnalyzer(checker) {}; in ETSAnalyzer() argument
30 #define DECLARE_ETSANALYZER_CHECK_METHOD(_, nodeType) checker::Type *Check(ir::nodeType *node) cons…
36 …virtual checker::Type *Check(ir::nodeType *node) const override; // CC-OFF(G.PRE.02,G.PRE.09) nam…
39 checker::Type *PreferredType(ir::ObjectExpression *expr) const;
40 checker::Type *CheckDynamic(ir::ObjectExpression *expr) const;
41 checker::Type *GetPreferredType(ir::ArrayExpression *expr) const;
43 …void CheckObjectExprProps(const ir::ObjectExpression *expr, checker::ETSObjectType *objectTypeForP…
[all …]
DETSAnalyzerHelpers.cpp17 #include "checker/types/ets/etsAsyncFuncReturnType.h"
19 namespace ark::es2panda::checker { namespace
39 void CheckExtensionIsShadowedInCurrentClassOrInterface(checker::ETSChecker *checker, checker::ETSOb… in CheckExtensionIsShadowedInCurrentClassOrInterface() argument
40 … ir::ScriptFunction *extensionFunc, checker::Signature *signature) in CheckExtensionIsShadowedInCurrentClassOrInterface()
45 …auto *const fieldVariable = objType->GetOwnProperty<checker::PropertyType::INSTANCE_FIELD>(methodN… in CheckExtensionIsShadowedInCurrentClassOrInterface()
47checker->LogError(diagnostic::EXTENSION_NAME_CONFLICT_WITH_FIELD, {methodName, objType->Name()}, in CheckExtensionIsShadowedInCurrentClassOrInterface()
53 …auto *const methodVariable = objType->GetOwnProperty<checker::PropertyType::INSTANCE_METHOD>(metho… in CheckExtensionIsShadowedInCurrentClassOrInterface()
62 if (!checker->Relation()->SignatureIsSupertypeOf(signature, funcSignature) && in CheckExtensionIsShadowedInCurrentClassOrInterface()
63 !checker->HasSameAssemblySignature(signature, funcSignature)) { in CheckExtensionIsShadowedInCurrentClassOrInterface()
68checker->LogError(diagnostic::EXTENSION_NAME_CONFLICT_WITH_METHOD, {funcType->Name(), objType->Nam… in CheckExtensionIsShadowedInCurrentClassOrInterface()
[all …]
/arkcompiler/runtime_core/tests/checked/
Dchecker_tests.rb15 require_relative 'checker'
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')
54 checker.ASM(x64: '666')
55 checker.ASM_NOT(x64: '777')
56 checker.ASM_INST('IR inst 1')
[all …]
/arkcompiler/runtime_core/static_core/tests/checked/
Dchecker_tests.rb16 require_relative 'checker'
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')
55 checker.ASM(x64: '666')
56 checker.ASM_NOT(x64: '777')
57 checker.ASM_INST('IR inst 1')
[all …]
/arkcompiler/ets_frontend/ets2panda/ir/statements/
DforOfStatement.cpp18 #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()
30 types.push_back(checker->GetGlobalTypesHolder()->GlobalCharType()); in CreateUnionIteratorTypes()
32 types.push_back(this->CheckIteratorMethodForObject(checker, it->AsETSObjectType())); in CreateUnionIteratorTypes()
34 …es.push_back(it->AsETSArrayType()->ElementType()->Instantiate(checker->Allocator(), checker->Relat… in CreateUnionIteratorTypes()
35checker->GetGlobalTypesHolder())); in CreateUnionIteratorTypes()
36 types.back()->RemoveTypeFlag(checker::TypeFlag::CONSTANT); in CreateUnionIteratorTypes()
38 return checker->GlobalTypeError(); in CreateUnionIteratorTypes()
42 return checker->CreateETSUnionType(std::move(types)); in CreateUnionIteratorTypes()
[all …]
DforOfStatement.h19 #include <checker/types/signature.h>
26 namespace ark::es2panda::checker {
29 } // namespace ark::es2panda::checker
41 friend class checker::ETSAnalyzer;
99 checker::Type *Check(checker::TSChecker *checker) override;
100 checker::VerifiedType Check(checker::ETSChecker *checker) override;
108 [[nodiscard]] checker::Type *CheckIteratorMethod(checker::ETSChecker *checker);
109 [[nodiscard]] checker::Type *CheckIteratorMethodForObject(checker::ETSChecker *checker,
110 checker::ETSObjectType *sourceType);
111 …static bool CheckReturnTypeOfIteratorMethod(checker::ETSChecker *checker, checker::ETSObjectType *…
[all …]
/arkcompiler/ets_frontend/ets2panda/test/unit/
Dunion_normalization_test_1.cpp19 #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()
52 unionConstituents.emplace_back(checker->GetGlobalTypesHolder()->GlobalETSStringBuiltinType()); in TEST_F()
55 auto *const normalizedType = checker->CreateETSUnionType(std::move(unionConstituents)); in TEST_F()
[all …]
Dunion_normalization_test_2.cpp19 #include "checker/ETSAnalyzer.h"
20 #include "checker/ETSchecker.h"
35 #include "checker/types/globalTypesHolder.h"
63 auto checker = Checker(); in TEST_F() local
64 ASSERT(checker); in TEST_F()
67 ArenaVector<checker::Type *> unionConstituents1(checker->Allocator()->Adapter()); in TEST_F()
72 auto *const normalizedType1 = checker->CreateETSUnionType(std::move(unionConstituents1)); in TEST_F()
78 ArenaVector<checker::Type *> unionConstituents2(checker->Allocator()->Adapter()); in TEST_F()
83 auto *const normalizedType2 = checker->CreateETSUnionType(std::move(unionConstituents2)); in TEST_F()
89 ArenaVector<checker::Type *> unionConstituents3(checker->Allocator()->Adapter()); in TEST_F()
[all …]
/arkcompiler/ets_frontend/es2panda/ir/ts/
DtsTupleType.cpp18 #include <typescript/checker.h>
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()
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()
50 checker::ElementFlags combinedFlags = checker::ElementFlags::NO_OPTS; in GetType()
53 ArenaVector<checker::Type *> numberIndexTypes(checker->Allocator()->Adapter()); in GetType()
55 util::StringView memberIndex = util::Helpers::ToStringView(checker->Allocator(), index); in GetType()
[all …]
DtsIndexedAccessType.cpp18 #include <typescript/checker.h>
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()
53 checker->ThrowTypeError("Type has no matching singature for type 'number'", Start()); in Check()
56 checker->ThrowTypeError("Type has no matching singature for type 'string'", Start()); in Check()
[all …]
DtsTypeLiteral.cpp19 #include <typescript/checker.h>
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()
56checker::ObjectDescriptor *desc = checker->Allocator()->New<checker::ObjectDescriptor>(checker->Al… in GetType()
57 checker::Type *type = checker->Allocator()->New<checker::ObjectLiteralType>(desc); in GetType()
[all …]
/arkcompiler/ets_frontend/es2panda/ir/expressions/
DarrayExpression.cpp144 void GetSpreadElementType(checker::Checker *checker, checker::Type *spreadType, in GetSpreadElementType() argument
145 … ArenaVector<checker::Type *> &elementTypes, const lexer::SourcePosition &loc) in GetSpreadElementType()
147 bool inConstContext = checker->HasStatus(checker::CheckerStatus::IN_CONST_CONTEXT); in GetSpreadElementType()
150 ArenaVector<checker::Type *> tupleElementTypes(checker->Allocator()->Adapter()); in GetSpreadElementType()
151 checker::TupleType *spreadTuple = spreadType->AsObjectType()->AsTupleType(); in GetSpreadElementType()
166 elementTypes.push_back(checker->CreateUnionType(std::move(tupleElementTypes))); in GetSpreadElementType()
172 ArenaVector<checker::Type *> spreadTypes(checker->Allocator()->Adapter()); in GetSpreadElementType()
182 checker::TupleType *tuple = type->AsObjectType()->AsTupleType(); in GetSpreadElementType()
196 elementTypes.push_back(checker->CreateUnionType(std::move(spreadTypes))); in GetSpreadElementType()
201 checker->ThrowTypeError( in GetSpreadElementType()
[all …]
/arkcompiler/ets_frontend/ets2panda/ir/ts/
DtsTupleType.cpp22 #include "checker/TSchecker.h"
23 #include "checker/types/ts/indexInfo.h"
81 checker::Type *GetNumberIndexType(ArenaVector<checker::Type *> numberIndexTypes, checker::TSChecker… in GetNumberIndexType() argument
83 checker::Type *numberIndexType = nullptr; in GetNumberIndexType()
85 numberIndexType = checker->GlobalNeverType(); in GetNumberIndexType()
89 numberIndexType = checker->CreateUnionType(std::move(numberIndexTypes)); in GetNumberIndexType()
94 static void SetMemberVarType(checker::Type *memberType, varbinder::LocalVariable *memberVar) in SetMemberVarType()
101 checker::Type *TSTupleType::GetType(checker::TSChecker *checker) in GetType() argument
107checker::ObjectDescriptor *desc = checker->Allocator()->New<checker::ObjectDescriptor>(checker->Al… in GetType()
109 checker::NamedTupleMemberPool namedMembers(checker->Allocator()->Adapter()); in GetType()
[all …]
/arkcompiler/ets_frontend/ets2panda/checker/typeChecker/
DTypeChecker.h21 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…
38 explicit TypeChecker(Checker *checker) : checker_(checker) {} in TypeChecker() argument
47 Checker *const checker_;
52 explicit ETSTypeChecker(Checker *checker) : TypeChecker(checker) {} in ETSTypeChecker() argument
60 explicit JSTypeChecker(Checker *checker) : TypeChecker(checker) {} in JSTypeChecker() argument
65 explicit TSTypeChecker(Checker *checker) : TypeChecker(checker) {} in TSTypeChecker() argument
70 explicit ASTypeChecker(Checker *checker) : TypeChecker(checker) {} in ASTypeChecker() argument
73 bool RunTypeChecker(Checker *checker, ScriptExtension ext, ir::AstNode *node);
[all …]
/arkcompiler/ets_frontend/ets2panda/ir/expressions/
DmemberExpression.h19 #include "checker/checkerContext.h"
20 #include "checker/types/ets/etsObjectType.h"
28 namespace ark::es2panda::checker {
31 } // namespace ark::es2panda::checker
59 friend class checker::ETSAnalyzer;
160 [[nodiscard]] checker::ETSObjectType *ObjType() const noexcept
165 [[nodiscard]] checker::ETSFunctionType *ExtensionAccessorType() const
170 void SetExtensionAccessorType(checker::ETSFunctionType *eAccessorType)
182 void SetObjectType(checker::ETSObjectType *objType) noexcept
197 [[nodiscard]] checker::Type *UncheckedType() const noexcept
[all …]
DmemberExpression.cpp18 #include "checker/TSchecker.h"
19 #include "checker/ets/castingContext.h"
20 #include "checker/types/ets/etsTupleType.h"
147 checker::Type *MemberExpression::Check(checker::TSChecker *checker) in Check() argument
149 return checker->GetAnalyzer()->Check(this); in Check()
152 std::pair<checker::Type *, varbinder::LocalVariable *> MemberExpression::ResolveObjectMember( in ResolveObjectMember()
153 checker::ETSChecker *checker) const in ResolveObjectMember()
155 auto resolveRes = checker->ResolveMemberReference(this, objType_); in ResolveObjectMember()
162 if (resolveRes[0]->Kind() == checker::ResolvedKind::PROPERTY) { in ResolveObjectMember()
164 checker->ValidatePropertyAccess(var, objType_, property_->Start()); in ResolveObjectMember()
[all …]
DarrayExpression.cpp19 #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"
230 checker::Type *ArrayExpression::Check(checker::TSChecker *checker) in Check() argument
232 return checker->GetAnalyzer()->Check(this); in Check()
235 checker::Type *CheckAssignmentPattern(Expression *it, checker::TSChecker *checker, checker::Type *e… in CheckAssignmentPattern() argument
236 bool &addOptional, checker::ElementFlags &memberFlag) in CheckAssignmentPattern()
243checker::Type *initializerType = checker->GetBaseTypeOfLiteralType(assignmentPattern->Right()->Che… in CheckAssignmentPattern()
[all …]
/arkcompiler/ets_frontend/ets2panda/lsp/src/
Disolated_declaration.cpp16 #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
67 typeStr = originType->GetType(checker)->ToString(); in FilterUnionTypes()
86 std::optional<std::string> HandleSpecificObjectTypes(const checker::ETSObjectType *objectType, in HandleSpecificObjectTypes()
87 [[maybe_unused]] checker::ETSChecker *checker) in HandleSpecificObjectTypes() argument
101 …::optional<std::string> GenObjectType(const checker::ETSObjectType *objectType, checker::ETSChecke… in GenObjectType() argument
103 …if (auto specificTypeStr = HandleSpecificObjectTypes(objectType, checker); specificTypeStr.has_val… in GenObjectType()
[all …]
/arkcompiler/ets_frontend/ets2panda/compiler/core/
DETSGen-inl.h21 #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()
42 case checker::TypeFlag::SHORT: { in MoveImmediateToRegister()
[all …]

12345678910>>...57