| /arkcompiler/ets_frontend/ets2panda/varbinder/ |
| D | recordTable.cpp | 26 BoundContext::BoundContext(RecordTable *recordTable, ir::ClassDefinition *classDef) in BoundContext() argument 29 if (classDef == nullptr || !recordTable_->classDefinitions_.insert(classDef).second) { in BoundContext() 34 recordTable_->record_ = classDef; in BoundContext() 35 recordIdent_ = classDef->Ident(); in BoundContext() 36 classDef->SetInternalName(FormRecordName()); in BoundContext()
|
| D | varbinder.cpp | 225 auto *classDef = util::Helpers::GetContainingClassDefinition(ident); in InstantiatePrivateContext() local 227 while (classDef != nullptr) { in InstantiatePrivateContext() 228 auto *scope = classDef->Scope(); in InstantiatePrivateContext() 229 …Variable *variable = scope->FindLocal(classDef->PrivateId(), varbinder::ResolveBindingOptions::BIN… in InstantiatePrivateContext() 235 if (classDef->HasMatchingPrivateKey(ident->Name())) { in InstantiatePrivateContext() 240 classDef = util::Helpers::GetContainingClassDefinition(classDef->Parent()); in InstantiatePrivateContext() 377 void VarBinder::InitializeClassBinding(ir::ClassDefinition *classDef) in InitializeClassBinding() argument 379 auto res = scope_->Find(classDef->Ident()->Name()); in InitializeClassBinding() 385 void VarBinder::InitializeClassIdent(ir::ClassDefinition *classDef) in InitializeClassIdent() argument 387 auto res = scope_->Find(classDef->Ident()->Name()); in InitializeClassIdent() [all …]
|
| D | ETSBinder.cpp | 305 void ETSBinder::BuildClassDefinition(ir::ClassDefinition *classDef) in BuildClassDefinition() argument 307 auto boundCtx = BoundContext(recordTable_, classDef); in BuildClassDefinition() 309 if (classDef->TypeParams() != nullptr) { in BuildClassDefinition() 310 auto scopeCtx = LexicalScope<LocalScope>::Enter(this, classDef->TypeParams()->Scope()); in BuildClassDefinition() 311 ResolveReferences(classDef->TypeParams()); in BuildClassDefinition() 312 BuildClassDefinitionImpl(classDef); in BuildClassDefinition() 316 BuildClassDefinitionImpl(classDef); in BuildClassDefinition() 330 void ETSBinder::BuildClassDefinitionImpl(ir::ClassDefinition *classDef) in BuildClassDefinitionImpl() argument 332 auto classCtx = LexicalScope<ClassScope>::Enter(this, classDef->Scope()->AsClassScope()); in BuildClassDefinitionImpl() 334 if (classDef->Super() != nullptr) { in BuildClassDefinitionImpl() [all …]
|
| D | ETSBinder.h | 111 void BuildClassDefinition(ir::ClassDefinition *classDef) override; 243 void BuildClassDefinitionImpl(ir::ClassDefinition *classDef); 246 void ImportGlobalProperties(const ir::ClassDefinition *classDef);
|
| D | varbinder.h | 233 void InitializeClassBinding(ir::ClassDefinition *classDef); 234 void InitializeClassIdent(ir::ClassDefinition *classDef); 242 virtual void BuildClassDefinition(ir::ClassDefinition *classDef);
|
| D | recordTable.h | 168 explicit BoundContext(RecordTable *recordTable, ir::ClassDefinition *classDef);
|
| /arkcompiler/ets_frontend/es2panda/binder/ |
| D | binder.cpp | 545 void Binder::BuildClassDefinition(ir::ClassDefinition *classDef) in BuildClassDefinition() argument 547 if (classDef->Parent()->IsClassDeclaration()) { in BuildClassDefinition() 548 util::StringView className = classDef->GetName(); in BuildClassDefinition() 558 auto scopeCtx = LexicalScope<ClassScope>::Enter(this, classDef->Scope()); in BuildClassDefinition() 560 if (classDef->TypeParams()) { in BuildClassDefinition() 561 ResolveReference(classDef, classDef->TypeParams()); in BuildClassDefinition() 564 if (classDef->Super()) { in BuildClassDefinition() 565 ResolveReference(classDef, classDef->Super()); in BuildClassDefinition() 568 if (classDef->SuperTypeParams()) { in BuildClassDefinition() 569 ResolveReference(classDef, classDef->SuperTypeParams()); in BuildClassDefinition() [all …]
|
| /arkcompiler/ets_frontend/es2panda/compiler/base/ |
| D | lexenv.cpp | 49 auto classDef = result.scope->AsClassScope()->Node()->AsClassDefinition(); in ExpandLoadLexVar() local 50 if (classDef->IsSendable()) { in ExpandLoadLexVar() 51 ASSERT(classDef->Ident() != nullptr); in ExpandLoadLexVar() 52 ASSERT(result.name == classDef->Ident()->Name()); in ExpandLoadLexVar() 90 auto classDef = result.scope->AsClassScope()->Node()->AsClassDefinition(); in ExpandStoreLexVar() local 91 if (classDef->IsSendable()) { in ExpandStoreLexVar() 92 ASSERT(classDef->Ident() != nullptr); in ExpandStoreLexVar() 93 ASSERT(result.name == classDef->Ident()->Name()); in ExpandStoreLexVar()
|
| /arkcompiler/ets_frontend/ets2panda/compiler/lowering/scopesInit/ |
| D | scopesInitPhase.cpp | 95 void ScopesInitPhase::VisitClassDefinition(ir::ClassDefinition *classDef) in VisitClassDefinition() argument 98 VarBinder()->AddDecl<varbinder::ConstDecl>(classDef->Start(), classDef->PrivateId()); in VisitClassDefinition() 99 BindClassName(classDef); in VisitClassDefinition() 102 BindScopeNode(classScope, classDef); in VisitClassDefinition() 103 Iterate(classDef); in VisitClassDefinition() 312 void ScopesInitPhase::IterateNoTParams(ir::ClassDefinition *classDef) in IterateNoTParams() argument 314 CallNode(classDef->Super()); in IterateNoTParams() 315 CallNode(classDef->SuperTypeParams()); in IterateNoTParams() 316 CallNode(classDef->Implements()); in IterateNoTParams() 317 CallNode(classDef->Ctor()); in IterateNoTParams() [all …]
|
| D | scopesInitPhase.h | 85 void IterateNoTParams(ir::ClassDefinition *classDef); 95 void VisitClassDefinition(ir::ClassDefinition *classDef) override; 166 virtual varbinder::Decl *BindClassName(ir::ClassDefinition *classDef); 177 void BindClassDefinition(ir::ClassDefinition *classDef); 220 void VisitClassDefinition(ir::ClassDefinition *classDef) override; 344 void VisitClassDefinition(ir::ClassDefinition *classDef) override;
|
| /arkcompiler/ets_frontend/ets2panda/compiler/core/ |
| D | ETSfunction.cpp | 76 const auto *classDef = etsg->ContainingObjectType()->GetDeclNode()->AsClassDefinition(); in CompileSourceBlock() local 79 … bool const compileInitializer = classDef->IsGlobal() ? checkInitializer(classDef->Body()) : true; in CompileSourceBlock() 81 for (const auto *prop : classDef->Body()) { in CompileSourceBlock() 98 const auto *classDef = etsg->ContainingObjectType()->GetDeclNode()->AsClassDefinition(); in CompileSourceBlock() local 100 for (const auto *prop : classDef->Body()) { in CompileSourceBlock()
|
| D | ETSemitter.cpp | 438 void ETSEmitter::GenClassRecord(const ir::ClassDefinition *classDef, bool external) in GenClassRecord() argument 440 auto classRecord = pandasm::Record(classDef->InternalName().Mutf8(), Program()->lang); in GenClassRecord() 448 if (classDef->IsAbstract()) { in GenClassRecord() 450 } else if (classDef->IsFinal()) { in GenClassRecord() 454 if (classDef->IsStatic()) { in GenClassRecord() 461 auto *baseType = classDef->TsType()->AsETSObjectType(); in GenClassRecord() 490 for (const auto *prop : classDef->Body()) { in GenClassRecord() 500 const ir::AstNode *parent = classDef->Parent(); in GenClassRecord() 504 annotations.emplace_back(GenAnnotationInnerClass(classDef, parent)); in GenClassRecord() 510 annotations.emplace_back(GenAnnotationInnerClass(classDef, parent)); in GenClassRecord() [all …]
|
| D | function.cpp | 130 auto *classDef = util::Helpers::GetContainingClassDefinition(node); in LoadClassContexts() local 133 auto res = pg->Scope()->Find(classDef->PrivateId()); in LoadClassContexts() 136 if (classDef->HasMatchingPrivateKey(name)) { in LoadClassContexts() 142 classDef = util::Helpers::GetContainingClassDefinition(classDef->Parent()); in LoadClassContexts() 143 } while (classDef != nullptr); in LoadClassContexts()
|
| D | ETSemitter.h | 76 void GenClassRecord(const ir::ClassDefinition *classDef, bool external); 86 pandasm::AnnotationData GenAnnotationSignature(const ir::ClassDefinition *classDef); 89 …pandasm::AnnotationData GenAnnotationInnerClass(const ir::ClassDefinition *classDef, const ir::Ast…
|
| /arkcompiler/ets_frontend/ets2panda/checker/ets/ |
| D | object.cpp | 69 auto *classDef = type->GetDeclNode()->AsClassDefinition(); in GetSuperType() local 71 if (classDef->Super() == nullptr) { in GetSuperType() 79 …TypeStackElement tse(this, type, {"Cyclic inheritance involving ", type->Name(), "."}, classDef->I… in GetSuperType() 81 Type *superType = classDef->Super()->AsTypeNode()->GetType(this); in GetSuperType() 84 … ThrowTypeError({"The super type of '", classDef->Ident()->Name(), "' class is not extensible."}, in GetSuperType() 85 classDef->Super()->Start()); in GetSuperType() 92 …ThrowTypeError({"struct ", classDef->Ident()->Name(), " is not extensible."}, classDef->Super()->S… in GetSuperType() 96 ThrowTypeError("Cannot inherit with 'final' modifier.", classDef->Super()->Start()); in GetSuperType() 320 ETSObjectType *ETSChecker::BuildClassProperties(ir::ClassDefinition *classDef) in BuildClassProperties() argument 322 if (classDef->IsFinal() && classDef->IsAbstract()) { in BuildClassProperties() [all …]
|
| D | aliveAnalyzer.cpp | 225 void AliveAnalyzer::AnalyzeClassDef(const ir::ClassDefinition *classDef) in AnalyzeClassDef() argument 227 if (classDef->Variable() == nullptr) { in AnalyzeClassDef() 234 for (const auto *it : classDef->Body()) { in AnalyzeClassDef() 241 for (const auto *it : classDef->Body()) { in AnalyzeClassDef() 248 for (const auto *it : classDef->Body()) { in AnalyzeClassDef() 255 for (const auto *it : classDef->Body()) { in AnalyzeClassDef()
|
| D | dynamic.cpp | 328 …auto *classDef = AllocNode<ir::ClassDefinition>(Allocator(), classId, ir::ClassDefinitionModifiers… in BuildClass() local 330 classDef->SetScope(classCtx.GetScope()); in BuildClass() 333 …Allocator(), classDef->Ident()->Name(), classDef->Ident()->Name(), classDef, checker::ETSObjectFla… in BuildClass() 334 classDef->SetTsType(classDefType); in BuildClass() 336 auto *classDecl = AllocNode<ir::ClassDeclaration>(classDef, Allocator()); in BuildClass() 338 classDef->Scope()->BindNode(classDecl); in BuildClass() 339 decl->BindNode(classDef); in BuildClass() 343 varbinder::BoundContext boundCtx(VarBinder()->AsETSBinder()->GetGlobalRecordTable(), classDef); in BuildClass() 349 classDef->AddProperties(std::move(classBody)); in BuildClass()
|
| D | aliveAnalyzer.h | 65 void AnalyzeClassDef(const ir::ClassDefinition *classDef);
|
| /arkcompiler/ets_frontend/es2panda/compiler/core/ |
| D | function.cpp | 173 const auto *classDef = decl->Parent()->Parent()->Parent()->AsClassDefinition(); in CompileClassInitializer() local 174 const auto &statements = classDef->Body(); in CompileClassInitializer() 182 if (!isStatic && classDef->HasInstancePrivateMethod()) { in CompileClassInitializer() 184 pg->LoadConst(classDef, Constant::JS_UNDEFINED); in CompileClassInitializer() 185 pg->DefineClassPrivateField(classDef, result.lexLevel, result.result.slot, thisReg); in CompileClassInitializer() 221 const auto *classDef = util::Helpers::GetClassDefiniton(decl); in CompileFunction() local 222 if (classDef->Super() == nullptr && classDef->NeedInstanceInitializer()) { in CompileFunction() 229 auto [level, slot] = pg->Scope()->Find(classDef->InstanceInitializer()->Key()); in CompileFunction()
|
| /arkcompiler/ets_frontend/es2panda/util/ |
| D | helpers.cpp | 723 auto *classDef = const_cast<ir::ClassDefinition*>(GetClassDefiniton(func)); in SetFuncFlagsForDirectives() local 724 …if (!classDef->Scope()->Parent()->IsModuleScope() && !classDef->Scope()->Parent()->IsGlobalScope()… in SetFuncFlagsForDirectives() 729 classDef->SetSendable(); in SetFuncFlagsForDirectives() 731 for (auto *stmt : classDef->Body()) { in SetFuncFlagsForDirectives() 799 auto *classDef = scriptFunc->Parent()->Parent()->Parent()->AsClassDefinition(); in ShouldCheckConcurrent() local 800 if (classDef->IsSendable()) { in ShouldCheckConcurrent() 801 ASSERT(classDef->Ident() != nullptr); in ShouldCheckConcurrent() 802 if (name == classDef->Ident()->Name()) { in ShouldCheckConcurrent() 819 auto classDef = iter->Parent()->Parent()->Node()->AsClassDefinition(); in SendableCheckForClassStaticInitializer() local 820 if (classDef->IsSendable()) { in SendableCheckForClassStaticInitializer() [all …]
|
| /arkcompiler/ets_frontend/ets2panda/util/ |
| D | declgenEts2Ts.cpp | 454 const auto *classDef = classDecl->Definition(); in GenClassDeclaration() local 455 std::string classDescriptor = "L" + classDef->InternalName().Mutf8() + ";"; in GenClassDeclaration() 458 const auto className = classDef->Ident()->Name().Mutf8(); in GenClassDeclaration() 459 state_.inGlobalClass = classDef->IsGlobal(); in GenClassDeclaration() 471 GenTypeParameters(classDef->TypeParams()); in GenClassDeclaration() 473 const auto *super = classDef->Super(); in GenClassDeclaration() 480 const auto &interfaces = classDef->TsType()->AsETSObjectType()->Interfaces(); in GenClassDeclaration() 483 ASSERT(classDef->TsType()->IsETSObjectType()); in GenClassDeclaration() 491 for (const auto *prop : classDef->Body()) { in GenClassDeclaration()
|
| /arkcompiler/ets_frontend/es2panda/typescript/extractor/ |
| D | typeSystem.h | 623 …explicit ClassType(TypeExtractor *extractor, const ir::ClassDefinition *classDef, const util::Stri… in ClassType() argument 633 typeIndexShift_ = recorder_->GetNodeTypeIndex(classDef); in ClassType() 638 if (classDef->TypeParams() != nullptr) { in ClassType() 639 CalculateParamTypes(paramTypes_, classDef->TypeParams()); in ClassType() 643 recorder_->SetNodeTypeIndex(classDef, typeIndexShift_); in ClassType() 647 FillModifier(classDef); in ClassType() 648 FillHeritages(classDef); in ClassType() 649 FillFieldsandMethods(classDef); in ClassType() 650 FillIndexSignatures(classDef); in ClassType() 680 void FillModifier(const ir::ClassDefinition *classDef) in FillModifier() argument [all …]
|
| /arkcompiler/ets_frontend/es2panda/ir/expressions/ |
| D | callExpression.cpp | 125 …const auto *classDef = util::Helpers::GetClassDefiniton(util::Helpers::GetContainingConstructor(th… in Compile() local 126 if (classDef->NeedInstanceInitializer()) { in Compile() 130 auto [level, slot] = pg->Scope()->Find(classDef->InstanceInitializer()->Key()); in Compile()
|
| /arkcompiler/ets_frontend/ets2panda/compiler/lowering/ets/ |
| D | unionLowering.cpp | 56 auto *classDef = in GetUnionFieldClass() local 59 classDef->SetScope(classCtx.GetScope()); in GetUnionFieldClass() 60 auto *classDecl = checker->AllocNode<ir::ClassDeclaration>(classDef, checker->Allocator()); in GetUnionFieldClass() 61 classDef->Scope()->BindNode(classDecl); in GetUnionFieldClass() 62 classDef->SetTsType(checker->GlobalETSObjectType()); in GetUnionFieldClass() 64 var->SetScope(classDef->Scope()); in GetUnionFieldClass() 66 varbinder->AsETSBinder()->BuildClassDefinition(classDef); in GetUnionFieldClass() 67 return classDef; in GetUnionFieldClass()
|
| /arkcompiler/ets_frontend/ets2panda/compiler/base/ |
| D | lreference.cpp | 241 auto *classDef = declNode->AsClassDefinition(); in ResolveReferenceKind() local 242 return classDef->IsStatic() ? ReferenceKind::STATIC_CLASS : ReferenceKind::CLASS; in ResolveReferenceKind()
|