Home
last modified time | relevance | path

Searched refs:classDef (Results 1 – 25 of 33) sorted by relevance

12

/arkcompiler/ets_frontend/ets2panda/varbinder/
DrecordTable.cpp26 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()
Dvarbinder.cpp225 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 …]
DETSBinder.cpp305 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 …]
DETSBinder.h111 void BuildClassDefinition(ir::ClassDefinition *classDef) override;
243 void BuildClassDefinitionImpl(ir::ClassDefinition *classDef);
246 void ImportGlobalProperties(const ir::ClassDefinition *classDef);
Dvarbinder.h233 void InitializeClassBinding(ir::ClassDefinition *classDef);
234 void InitializeClassIdent(ir::ClassDefinition *classDef);
242 virtual void BuildClassDefinition(ir::ClassDefinition *classDef);
DrecordTable.h168 explicit BoundContext(RecordTable *recordTable, ir::ClassDefinition *classDef);
/arkcompiler/ets_frontend/es2panda/binder/
Dbinder.cpp545 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/
Dlexenv.cpp49 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/
DscopesInitPhase.cpp95 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 …]
DscopesInitPhase.h85 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/
DETSfunction.cpp76 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()
DETSemitter.cpp438 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 …]
Dfunction.cpp130 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()
DETSemitter.h76 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/
Dobject.cpp69 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 …]
DaliveAnalyzer.cpp225 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()
Ddynamic.cpp328 …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()
DaliveAnalyzer.h65 void AnalyzeClassDef(const ir::ClassDefinition *classDef);
/arkcompiler/ets_frontend/es2panda/compiler/core/
Dfunction.cpp173 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/
Dhelpers.cpp723 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/
DdeclgenEts2Ts.cpp454 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/
DtypeSystem.h623 …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/
DcallExpression.cpp125 …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/
DunionLowering.cpp56 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/
Dlreference.cpp241 auto *classDef = declNode->AsClassDefinition(); in ResolveReferenceKind() local
242 return classDef->IsStatic() ? ReferenceKind::STATIC_CLASS : ReferenceKind::CLASS; in ResolveReferenceKind()

12