Lines Matching defs:enumClass
57 ir::MethodDefinition *MakeMethodDef(checker::ETSChecker *const checker, ir::ClassDefinition *enumClass,
66 methodDef->SetParent(enumClass);
67 enumClass->Body().push_back(methodDef);
70 varbinder, enumClass->Scope()->AsClassScope()->StaticMethodScope());
130 ir::ClassDefinition *const enumClass,
136 varbinder_, enumClass->Scope()->AsClassScope()->StaticFieldScope());
147 arrayClassProp->SetParent(enumClass);
148 enumClass->Body().push_back(arrayClassProp);
155 array_var->SetScope(enumClass->Scope()->AsClassScope()->StaticFieldScope());
156 array_decl->Node()->SetParent(enumClass);
161 ir::ClassDefinition *const enumClass)
167 return MakeArray(enumDecl, enumClass, "NamesArray", arrayTypeAnnotation,
204 void EnumLoweringPhase::CreateCCtorForEnumClass(ir::ClassDefinition *const enumClass)
238 methodDef->SetParent(enumClass);
239 enumClass->Body().push_back(methodDef);
242 varbinder_, enumClass->Scope()->AsClassScope()->StaticMethodScope());
251 ir::ClassProperty *EnumLoweringPhase::CreateOrdinalField(ir::ClassDefinition *const enumClass)
254 varbinder_, enumClass->Scope()->AsClassScope()->InstanceFieldScope());
262 var->SetScope(enumClass->Scope()->AsClassScope()->InstanceFieldScope());
267 enumClass->Body().push_back(field);
268 field->SetParent(enumClass);
272 void EnumLoweringPhase::CreateCtorForEnumClass(ir::ClassDefinition *const enumClass)
321 methodDef->SetParent(enumClass);
322 enumClass->Body().push_back(methodDef);
325 varbinder_, enumClass->Scope()->AsClassScope()->StaticMethodScope());
335 auto *const enumClass = CreateClass(enumDecl);
336 auto *const namesArrayIdent = CreateEnumNamesArray(enumDecl, enumClass);
337 auto *const valuesArrayIdent = CreateEnumValuesArray(enumDecl, enumClass);
338 auto *const stringValuesArrayIdent = CreateEnumStringValuesArray(enumDecl, enumClass);
339 auto *const itemsArrayIdent = CreateEnumItemsArray(enumDecl, enumClass);
340 auto *const boxedItemsArrayIdent = CreateBoxedEnumItemsArray(enumDecl, enumClass);
343 CreateEnumGetNameMethod(enumDecl, enumClass, identClone);
346 CreateEnumGetValueOfMethod(enumDecl, enumClass, identClone);
349 CreateEnumValueOfMethod(enumDecl, enumClass, identClone);
352 CreateEnumToStringMethod(enumDecl, enumClass, identClone);
355 CreateEnumValuesMethod(enumDecl, enumClass, identClone);
358 CreateEnumFromIntMethod(enumDecl, enumClass, identClone, checker::ETSEnumType::FROM_INT_METHOD_NAME,
362 CreateUnboxingMethod(enumDecl, enumClass, identClone);
365 CreateEnumFromIntMethod(enumDecl, enumClass, identClone, checker::ETSEnumType::BOXED_FROM_INT_METHOD_NAME,
371 auto *const enumClass = CreateClass(enumDecl);
372 auto *const namesArrayIdent = CreateEnumNamesArray(enumDecl, enumClass);
373 auto *const stringValuesArrayIdent = CreateEnumStringValuesArray(enumDecl, enumClass);
374 auto *const itemsArrayIdent = CreateEnumItemsArray(enumDecl, enumClass);
375 auto *const boxedItemsArrayIdent = CreateBoxedEnumItemsArray(enumDecl, enumClass);
378 CreateEnumGetNameMethod(enumDecl, enumClass, identClone);
381 CreateEnumGetValueOfMethod(enumDecl, enumClass, identClone);
384 CreateEnumToStringMethod(enumDecl, enumClass, identClone);
387 CreateEnumValuesMethod(enumDecl, enumClass, identClone);
390 CreateEnumFromIntMethod(enumDecl, enumClass, identClone, checker::ETSEnumType::FROM_INT_METHOD_NAME,
394 CreateUnboxingMethod(enumDecl, enumClass, identClone);
397 CreateEnumFromIntMethod(enumDecl, enumClass, identClone, checker::ETSEnumType::BOXED_FROM_INT_METHOD_NAME,
437 ir::ClassDefinition *const enumClass)
442 return MakeArray(enumDecl, enumClass, "ValuesArray", arrayTypeAnnotation,
456 ir::ClassDefinition *const enumClass)
462 return MakeArray(enumDecl, enumClass, "StringValuesArray", arrayTypeAnnotation,
482 ir::ClassDefinition *const enumClass)
487 return MakeArray(enumDecl, enumClass, "ItemsArray", arrayTypeAnnotation,
504 ir::ClassDefinition *const enumClass)
510 return MakeArray(enumDecl, enumClass, "BoxedItemsArray", arrayTypeAnnotation,
603 ir::ClassDefinition *const enumClass, ir::Identifier *const arrayIdent,
608 varbinder_->Allocator()->New<varbinder::FunctionParamScope>(Allocator(), enumClass->Scope());
639 MakeMethodDef(checker_, enumClass, varbinder_, ident, function);
644 ir::ClassDefinition *const enumClass,
648 varbinder_->Allocator()->New<varbinder::FunctionParamScope>(Allocator(), enumClass->Scope());
667 MakeMethodDef(checker_, enumClass, varbinder_, functionIdent, function);
672 ir::ClassDefinition *const enumClass,
676 varbinder_->Allocator()->New<varbinder::FunctionParamScope>(Allocator(), enumClass->Scope());
695 MakeMethodDef(checker_, enumClass, varbinder_, functionIdent, function);
701 ir::ClassDefinition *const enumClass,
705 varbinder_->Allocator()->New<varbinder::FunctionParamScope>(Allocator(), enumClass->Scope());
726 MakeMethodDef(checker_, enumClass, varbinder_, functionIdent, function);
807 ir::ClassDefinition *const enumClass,
811 varbinder_->Allocator()->New<varbinder::FunctionParamScope>(Allocator(), enumClass->Scope());
853 MakeMethodDef(checker_, enumClass, varbinder_, functionIdent, function);
858 ir::ClassDefinition *const enumClass,
862 varbinder_->Allocator()->New<varbinder::FunctionParamScope>(Allocator(), enumClass->Scope());
878 MakeMethodDef(checker_, enumClass, varbinder_, functionIdent, function);
883 ir::ClassDefinition *const enumClass,
888 varbinder_->Allocator()->New<varbinder::FunctionParamScope>(Allocator(), enumClass->Scope());
918 MakeMethodDef(checker_, enumClass, varbinder_, functionIdent, function);