Home
last modified time | relevance | path

Searched refs:classDef (Results 1 - 25 of 46) sorted by relevance

12

/arkcompiler/ets_frontend/ets2panda/varbinder/
H A DrecordTable.cpp27 BoundContext::BoundContext(RecordTable *recordTable, ir::ClassDefinition *classDef, bool force) in BoundContext() argument
30 currentRecord_(classDef), in BoundContext()
33 if (classDef == nullptr || (!force && !recordTable_->classDefinitions_.insert(classDef).second)) { in BoundContext()
38 recordTable_->record_ = classDef; in BoundContext()
39 recordIdent_ = classDef->Ident(); in BoundContext()
40 if (classDef->InternalName().Empty()) { in BoundContext()
41 classDef->SetInternalName(FormRecordName()); in BoundContext()
89 const auto *classDef = std::get<ir::ClassDefinition *>(currentRecord_); in FormRecordName() local
90 if (classDef in FormRecordName()
[all...]
H A Dvarbinder.cpp226 auto *classDef = util::Helpers::GetContainingClassDefinition(ident); in InstantiatePrivateContext() local
228 while (classDef != nullptr) { in InstantiatePrivateContext()
229 auto *scope = classDef->Scope(); in InstantiatePrivateContext()
230 Variable *variable = scope->FindLocal(classDef->PrivateId(), varbinder::ResolveBindingOptions::BINDINGS); in InstantiatePrivateContext()
236 if (classDef->HasMatchingPrivateKey(ident->Name())) { in InstantiatePrivateContext()
241 classDef = util::Helpers::GetContainingClassDefinition(classDef->Parent()); in InstantiatePrivateContext()
379 void VarBinder::InitializeClassBinding(ir::ClassDefinition *classDef) in InitializeClassBinding() argument
381 auto res = scope_->Find(classDef->Ident()->Name()); in InitializeClassBinding()
387 void VarBinder::InitializeClassIdent(ir::ClassDefinition *classDef) in InitializeClassIdent() argument
396 BuildClassDefinition(ir::ClassDefinition *classDef) BuildClassDefinition() argument
[all...]
H A DETSBinder.cpp334 void ETSBinder::BuildClassDefinition(ir::ClassDefinition *classDef) in BuildClassDefinition() argument
336 auto boundCtx = BoundContext(recordTable_, classDef); in BuildClassDefinition()
338 if (classDef->TypeParams() != nullptr) { in BuildClassDefinition()
339 auto scopeCtx = LexicalScope<LocalScope>::Enter(this, classDef->TypeParams()->Scope()); in BuildClassDefinition()
340 ResolveReferences(classDef->TypeParams()); in BuildClassDefinition()
341 BuildClassDefinitionImpl(classDef); in BuildClassDefinition()
345 BuildClassDefinitionImpl(classDef); in BuildClassDefinition()
359 void ETSBinder::BuildClassDefinitionImpl(ir::ClassDefinition *classDef) in BuildClassDefinitionImpl() argument
361 auto classCtx = LexicalScope<ClassScope>::Enter(this, classDef->Scope()->AsClassScope()); in BuildClassDefinitionImpl()
363 if (classDef in BuildClassDefinitionImpl()
515 const auto *const classDef = var->Declaration()->Node()->AsClassDeclaration()->Definition(); ImportAllForeignBindings() local
1108 ImportGlobalProperties(const ir::ClassDefinition *const classDef) ImportGlobalProperties() argument
[all...]
/arkcompiler/ets_frontend/ets2panda/compiler/lowering/ets/
H A DlocalClassLowering.cpp83 public_lib::Context *ctx, ir::ClassDefinition *classDef, ArenaSet<varbinder::Variable *> const &capturedVars, in CreateClassPropertiesForCapturedVariables()
91 ASSERT(classDef->Scope()->Type() == varbinder::ScopeType::CLASS); in CreateClassPropertiesForCapturedVariables()
92 auto *property = CreateCapturedField(checker, var, reinterpret_cast<varbinder::ClassScope *>(classDef->Scope()), in CreateClassPropertiesForCapturedVariables()
93 idx, classDef->Start()); in CreateClassPropertiesForCapturedVariables()
102 classDef->AddProperties(std::move(properties)); in CreateClassPropertiesForCapturedVariables()
121 public_lib::Context *ctx, ir::ClassDefinition *classDef, ArenaSet<varbinder::Variable *> const &capturedVars, in ModifyConstructorParameters()
126 auto *classType = classDef->TsType()->AsETSObjectType(); in ModifyConstructorParameters()
180 ir::ClassDefinition *classDef, ArenaMap<varbinder::Variable *, varbinder::Variable *> &variableMap) in RemapReferencesFromCapturedVariablesToClassProperties()
182 auto *classType = classDef->TsType()->AsETSObjectType(); in RemapReferencesFromCapturedVariablesToClassProperties()
198 for (auto *it : classDef in RemapReferencesFromCapturedVariablesToClassProperties()
82 CreateClassPropertiesForCapturedVariables( public_lib::Context *ctx, ir::ClassDefinition *classDef, ArenaSet<varbinder::Variable *> const &capturedVars, ArenaMap<varbinder::Variable *, varbinder::Variable *> &variableMap, ArenaMap<varbinder::Variable *, ir::ClassProperty *> &propertyMap) CreateClassPropertiesForCapturedVariables() argument
120 ModifyConstructorParameters( public_lib::Context *ctx, ir::ClassDefinition *classDef, ArenaSet<varbinder::Variable *> const &capturedVars, ArenaMap<varbinder::Variable *, varbinder::Variable *> &variableMap, ArenaMap<varbinder::Variable *, varbinder::Variable *> &parameterMap) ModifyConstructorParameters() argument
179 RemapReferencesFromCapturedVariablesToClassProperties( ir::ClassDefinition *classDef, ArenaMap<varbinder::Variable *, varbinder::Variable *> &variableMap) RemapReferencesFromCapturedVariablesToClassProperties() argument
[all...]
H A DlocalClassLowering.h29 void CreateClassPropertiesForCapturedVariables(public_lib::Context *ctx, ir::ClassDefinition *classDef,
34 void ModifyConstructorParameters(public_lib::Context *ctx, ir::ClassDefinition *classDef,
40 ir::ClassDefinition *classDef, ArenaMap<varbinder::Variable *, varbinder::Variable *> &variableMap);
H A DunionLowering.cpp57 auto *classDef = in GetUnionFieldClass() local
60 classDef->SetScope(classCtx.GetScope()); in GetUnionFieldClass()
61 auto *classDecl = checker->AllocNode<ir::ClassDeclaration>(classDef, checker->Allocator()); in GetUnionFieldClass()
62 classDef->Scope()->BindNode(classDecl); in GetUnionFieldClass()
63 classDef->SetTsType(checker->GlobalETSObjectType()); in GetUnionFieldClass()
65 var->SetScope(classDef->Scope()); in GetUnionFieldClass()
67 varbinder->AsETSBinder()->BuildClassDefinition(classDef); in GetUnionFieldClass()
68 return classDef; in GetUnionFieldClass()
H A DambientLowering.cpp91 ir::ClassDefinition *AmbientLowering::CreateIndexerMethodIfNeeded(ir::ClassDefinition *classDef, in CreateIndexerMethodIfNeeded() argument
94 auto &classBody = classDef->Body(); in CreateIndexerMethodIfNeeded()
114 return classDef; in CreateIndexerMethodIfNeeded()
/arkcompiler/ets_frontend/ets2panda/checker/ets/
H A DetsWarningAnalyzer.cpp41 void ETSWarningAnalyzer::AnalyzeClassDefForFinalModifier(const ir::ClassDefinition *classDef) in AnalyzeClassDefForFinalModifier() argument
43 ASSERT(classDef != nullptr); in AnalyzeClassDefForFinalModifier()
45 if (program_ == nullptr || classDef->IsFinal() || classDef->IsAbstract() || classDef->IsStatic() || in AnalyzeClassDefForFinalModifier()
46 classDef->IsGlobal() || classDef->IsExported()) { in AnalyzeClassDefForFinalModifier()
53 classDef->Ident()->Name() == it->AsClassDeclaration()->Definition()->Ident()->Name()) { in AnalyzeClassDefForFinalModifier()
67 superClass->AsETSTypeReference()->Part()->Name()->AsIdentifier()->Name() == classDef->Ident()->Name()) { in AnalyzeClassDefForFinalModifier()
73 ETSThrowWarning("Suggest 'final' modifier for class", classDef in AnalyzeClassDefForFinalModifier()
76 AnalyzeClassMethodForFinalModifier(const ir::MethodDefinition *methodDef, const ir::ClassDefinition *classDef) AnalyzeClassMethodForFinalModifier() argument
180 const auto *classDef = node->AsClassDeclaration()->Definition(); ETSWarningsProhibitTopLevelStatements() local
[all...]
H A DutilityTypeHandlers.cpp81 auto *const classDef = typeToBePartial->Variable()->Declaration()->Node()->AsClassDefinition(); in HandlePartialType() local
87 util::UString(classDef->Ident()->Name().Mutf8() + PARTIAL_CLASS_SUFFIX, Allocator()).View(); in HandlePartialType()
89 auto *const classDefProgram = classDef->GetTopStatement()->AsETSScript()->Program(); in HandlePartialType()
112 util::UString(classDef->InternalName().Mutf8() + PARTIAL_CLASS_SUFFIX, Allocator()).View()); in HandlePartialType()
130 return CreatePartialTypeClassDef(partialClassDef, classDef, typeToBePartial, recordTableToUse); in HandlePartialType()
195 const ir::ClassDefinition *const classDef) in CreatePartialClassDeclaration()
199 for (auto *const prop : classDef->Body()) { in CreatePartialClassDeclaration()
214 newClassDefinition->AddModifier(static_cast<const ir::AstNode *>(classDef)->Modifiers()); in CreatePartialClassDeclaration()
216 if (classDef->TypeParams() != nullptr) { in CreatePartialClassDeclaration()
218 for (auto *const classDefTypeParam : classDef in CreatePartialClassDeclaration()
194 CreatePartialClassDeclaration(ir::ClassDefinition *const newClassDefinition, const ir::ClassDefinition *const classDef) CreatePartialClassDeclaration() argument
277 auto *const classDef = CreateClassPrototype() local
356 CreatePartialTypeClassDef(ir::ClassDefinition *const partialClassDef, ir::ClassDefinition *const classDef, const Type *const typeToBePartial, varbinder::RecordTable *const recordTableToUse) CreatePartialTypeClassDef() argument
[all...]
H A Dobject.cpp71 auto *classDef = type->GetDeclNode()->AsClassDefinition(); in ComputeSuperType() local
73 if (classDef->Super() == nullptr) { in ComputeSuperType()
81 TypeStackElement tse(this, type, {"Cyclic inheritance involving ", type->Name(), "."}, classDef->Ident()->Start()); in ComputeSuperType()
87 Type *superType = classDef->Super()->AsTypeNode()->GetType(this); in ComputeSuperType()
92 LogTypeError({"The super type of '", classDef->Ident()->Name(), "' class is not extensible."}, in ComputeSuperType()
93 classDef->Super()->Start()); in ComputeSuperType()
102 LogTypeError({"struct ", classDef->Ident()->Name(), " is not extensible."}, classDef->Super()->Start()); in ComputeSuperType()
106 LogTypeError("Cannot inherit with 'final' modifier.", classDef->Super()->Start()); in ComputeSuperType()
367 ETSObjectType *ETSChecker::BuildBasicClassProperties(ir::ClassDefinition *classDef) in BuildBasicClassProperties() argument
417 BuildAnonymousClassProperties(ir::ClassDefinition *classDef, ETSObjectType *superType) BuildAnonymousClassProperties() argument
[all...]
H A DetsWarningAnalyzer.h58 void AnalyzeClassDefForFinalModifier(const ir::ClassDefinition *classDef);
59 void AnalyzeClassMethodForFinalModifier(const ir::MethodDefinition *methodDef, const ir::ClassDefinition *classDef);
/arkcompiler/ets_frontend/ets2panda/compiler/lowering/ets/topLevelStmts/
H A DglobalClassHandler.cpp60 auto classDef = node->AsClassDefinition(); in SetupGlobalClass()
61 if (auto staticBlock = CreateStaticBlock(classDef); staticBlock != nullptr) { in SetupGlobalClass()
62 classDef->Body().emplace_back(staticBlock); // NOTE(vpukhov): inserted to end for some reason in SetupGlobalClass()
63 staticBlock->SetParent(classDef); in SetupGlobalClass()
249 ir::ClassStaticBlock *GlobalClassHandler::CreateStaticBlock(ir::ClassDefinition *classDef) in CreateStaticBlock() argument
252 for (const auto *prop : classDef->Body()) { in CreateStaticBlock()
261 if (!hasStaticField && !classDef->IsGlobal()) { in CreateStaticBlock()
283 staticBlock->SetRange({classDef->Start(), classDef->Start()}); in CreateStaticBlock()
288 ir::ClassDefinition *classDef, in CollectProgramGlobalStatements()
287 CollectProgramGlobalStatements(parser::Program *program, ir::ClassDefinition *classDef, bool addInitializer) CollectProgramGlobalStatements() argument
303 auto *classDef = CreateGlobalClass() local
[all...]
H A DglobalClassHandler.h53 ir::ClassStaticBlock *CreateStaticBlock(ir::ClassDefinition *classDef);
71 ArenaVector<ir::Statement *> CollectProgramGlobalStatements(parser::Program *program, ir::ClassDefinition *classDef,
/arkcompiler/ets_frontend/es2panda/binder/
H A Dbinder.cpp578 void Binder::BuildClassDefinition(ir::ClassDefinition *classDef) in BuildClassDefinition() argument
580 if (classDef->Parent()->IsClassDeclaration()) { in BuildClassDefinition()
581 util::StringView className = classDef->GetName(); in BuildClassDefinition()
591 auto scopeCtx = LexicalScope<ClassScope>::Enter(this, classDef->Scope()); in BuildClassDefinition()
593 if (classDef->TypeParams()) { in BuildClassDefinition()
594 ResolveReference(classDef, classDef->TypeParams()); in BuildClassDefinition()
597 if (classDef->Super()) { in BuildClassDefinition()
598 ResolveReference(classDef, classDef in BuildClassDefinition()
851 const auto *classDef = parent->AsClassDefinition(); ResolveReference() local
1162 auto classDef = parent->Parent()->AsClassDefinition(); ClassTdz() local
[all...]
/arkcompiler/ets_frontend/ets2panda/compiler/core/
H A DETSemitter.cpp432 std::vector<pandasm::AnnotationData> ETSEmitter::GenAnnotations(const ir::ClassDefinition *classDef) in GenAnnotations() argument
435 const ir::AstNode *parent = classDef->Parent(); in GenAnnotations()
439 annotations.emplace_back(GenAnnotationInnerClass(classDef, parent)); in GenAnnotations()
445 annotations.emplace_back(GenAnnotationInnerClass(classDef, parent)); in GenAnnotations()
451 auto classIdent = classDef->Ident()->Name().Mutf8(); in GenAnnotations()
461 static uint32_t GetAccessFlags(const ir::ClassDefinition *classDef) in GetAccessFlags() argument
464 if (classDef->IsAbstract()) { in GetAccessFlags()
466 } else if (classDef->IsFinal()) { in GetAccessFlags()
470 if (classDef->IsStatic()) { in GetAccessFlags()
477 void ETSEmitter::GenClassRecord(const ir::ClassDefinition *classDef, boo argument
532 GenAnnotationSignature(const ir::ClassDefinition *classDef) GenAnnotationSignature() argument
612 GenAnnotationInnerClass(const ir::ClassDefinition *classDef, const ir::AstNode *parent) GenAnnotationInnerClass() argument
639 const ir::ClassDefinition *classDef = ownerNode->AsClassDefinition(); FindAsyncImpl() local
[all...]
H A DETSfunction.cpp105 const auto *classDef = etsg->ContainingObjectType()->GetDeclNode()->AsClassDefinition(); in CompileAsStaticBlock() local
118 bool const compileInitializer = classDef->IsGlobal() ? checkInitializer(classDef->Body()) : true; in CompileAsStaticBlock()
120 for (const auto *prop : classDef->Body()) { in CompileAsStaticBlock()
140 const auto *classDef = etsg->ContainingObjectType()->GetDeclNode()->AsClassDefinition(); in CompileAsConstructor() local
142 for (const auto *prop : classDef->Body()) { in CompileAsConstructor()
H A DETSemitter.h82 std::vector<pandasm::AnnotationData> GenAnnotations(const ir::ClassDefinition *classDef);
83 void GenClassRecord(const ir::ClassDefinition *classDef, bool external);
104 pandasm::AnnotationData GenAnnotationSignature(const ir::ClassDefinition *classDef);
107 pandasm::AnnotationData GenAnnotationInnerClass(const ir::ClassDefinition *classDef, const ir::AstNode *parent);
H A 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()
/arkcompiler/ets_frontend/ets2panda/compiler/lowering/scopesInit/
H A DscopesInitPhase.cpp133 void ScopesInitPhase::VisitClassDefinition(ir::ClassDefinition *classDef) in VisitClassDefinition() argument
135 auto classCtx = LexicalScopeCreateOrEnter<varbinder::LocalScope>(VarBinder(), classDef); in VisitClassDefinition()
136 AddOrGetDecl<varbinder::ConstDecl>(VarBinder(), classDef->PrivateId(), classDef, classDef->Start(), in VisitClassDefinition() local
137 classDef->PrivateId()); in VisitClassDefinition()
138 BindClassName(classDef); in VisitClassDefinition()
141 BindScopeNode(classScope, classDef); in VisitClassDefinition()
142 Iterate(classDef); in VisitClassDefinition()
374 void ScopesInitPhase::IterateNoTParams(ir::ClassDefinition *classDef) in IterateNoTParams() argument
399 BindClassName(ir::ClassDefinition *classDef) BindClassName() argument
420 BindClassDefinition(ir::ClassDefinition *classDef) BindClassDefinition() argument
428 AddOrGetDecl<varbinder::ClassDecl>(VarBinder(), className, classDef, locStart, className, classDef); BindClassDefinition() local
430 AddOrGetDecl<varbinder::LetDecl>(VarBinder(), className, classDef, locStart, className, classDef); BindClassDefinition() local
622 VisitClassDefinition(ir::ClassDefinition *classDef) VisitClassDefinition() argument
629 AddOrGetDecl<varbinder::ConstDecl>(VarBinder(), classDef->PrivateId(), classDef, classDef->Start(), VisitClassDefinition() local
997 const auto classDef = newClassExpr->ClassDefinition(); VisitETSNewClassInstanceExpression() local
1098 VisitClassDefinition(ir::ClassDefinition *classDef) VisitClassDefinition() argument
[all...]
H A DscopesInitPhase.h86 void IterateNoTParams(ir::ClassDefinition *classDef);
96 void VisitClassDefinition(ir::ClassDefinition *classDef) override;
172 virtual varbinder::Decl *BindClassName(ir::ClassDefinition *classDef);
185 void BindClassDefinition(ir::ClassDefinition *classDef);
229 void VisitClassDefinition(ir::ClassDefinition *classDef) override;
357 void VisitClassDefinition(ir::ClassDefinition *classDef) override;
/arkcompiler/ets_frontend/ets2panda/util/ast-builders/
H A DetsNewClassInstanceExpressionBuilder.h38 ETSNewClassInstanceExpressionBuilder &SetClassDefinition(ir::ClassDefinition *classDef) in SetClassDefinition() argument
40 classDef_ = classDef; in SetClassDefinition()
/arkcompiler/ets_frontend/es2panda/compiler/core/
H A Dfunction.cpp175 const auto *classDef = decl->Parent()->Parent()->Parent()->AsClassDefinition(); in CompileClassInitializer() local
176 const auto &statements = classDef->Body(); in CompileClassInitializer()
184 if (!isStatic && classDef->HasInstancePrivateMethod()) { in CompileClassInitializer()
186 pg->LoadConst(classDef, Constant::JS_UNDEFINED); in CompileClassInitializer()
187 pg->DefineClassPrivateField(classDef, result.lexLevel, result.result.slot, thisReg); in CompileClassInitializer()
223 const auto *classDef = util::Helpers::GetClassDefiniton(decl); in CompileFunction() local
224 if (classDef->Super() == nullptr && classDef->NeedInstanceInitializer()) { in CompileFunction()
231 auto [level, slot] = pg->Scope()->Find(classDef->InstanceInitializer()->Key()); in CompileFunction()
/arkcompiler/ets_frontend/ets2panda/evaluate/debugInfoDeserialization/
H A DclassBuilder.cpp55 auto *classDef = checker_->AllocNode<ir::ClassDefinition>( in Build() local
61 classDef->AddProperties(std::move(classBody)); in Build()
64 auto *classDecl = checker_->AllocNode<ir::ClassDeclaration>(classDef, allocator); in Build()
/arkcompiler/ets_frontend/ets2panda/declgen_ets2ts/
H A DdeclgenEts2Ts.cpp522 const auto *classDef = classDecl->Definition(); in GenClassDeclaration() local
523 std::string classDescriptor = "L" + classDef->InternalName().Mutf8() + ";"; in GenClassDeclaration()
526 const auto className = classDef->Ident()->Name().Mutf8(); in GenClassDeclaration()
527 state_.inGlobalClass = classDef->IsGlobal(); in GenClassDeclaration()
538 GenTypeParameters(classDef->TypeParams()); in GenClassDeclaration()
540 const auto *super = classDef->Super(); in GenClassDeclaration()
547 const auto &interfaces = classDef->TsType()->AsETSObjectType()->Interfaces(); in GenClassDeclaration()
550 ASSERT(classDef->TsType()->IsETSObjectType()); in GenClassDeclaration()
558 for (const auto *prop : classDef->Body()) { in GenClassDeclaration()
574 ExportIfNeeded(classDef in GenClassDeclaration()
[all...]
/arkcompiler/ets_frontend/es2panda/compiler/base/
H A Dlexenv.cpp54 auto classDef = decl->Node()->AsClassDefinition(); in ExpandLoadLexVar() local
55 if (classDef == util::Helpers::GetContainingSendableClass(node) && in ExpandLoadLexVar()
56 !util::Helpers::IsChildScope(classDef->StaticInitializer()->Function()->Scope(), pg->TopScope())) { in ExpandLoadLexVar()

Completed in 16 milliseconds

12