Lines Matching defs:ifaceMethod
47 static ir::ClassProperty *CreateAnonClassField(ir::MethodDefinition *ifaceMethod, checker::ETSChecker *checker)
52 auto *fieldType = ifaceMethod->Function()->Signature()->ReturnType();
63 fieldName.Append(ifaceMethod->Id()->Name());
70 if (ifaceMethod->Overloads().empty()) {
77 field->SetRange(ifaceMethod->Range());
83 ir::MethodDefinition *ifaceMethod, bool isSetter)
85 checker::ETSChecker::MethodBuilder methodBuilder = [checker, ifaceMethod,
94 // ifaceMethod is getter, so it should have return type
95 auto *retType = ifaceMethod->Function()->Signature()->ReturnType();
105 fieldName.Append(ifaceMethod->Id()->Name());
111 checker->AddParam(ifaceMethod->Id()->Name(), checker->AllocNode<ir::OpaqueTypeNode>(retType));
150 return checker->CreateClassMethod(ifaceMethod->Id()->Name().Utf8(), funcFlags, modifierFlags, methodBuilder);
158 auto *ifaceMethod = it->AsMethodDefinition();
160 if (!ifaceMethod->Function()->IsGetter() && !ifaceMethod->Function()->IsSetter()) {
164 if (!ifaceMethod->Function()->IsGetter()) {
168 auto *field = CreateAnonClassField(ifaceMethod, checker);
171 auto *getter = CreateAnonClassFieldGetterSetter(checker, ifaceMethod, false);
174 if (ifaceMethod->Overloads().size() == 1 && ifaceMethod->Overloads()[0]->Function()->IsSetter()) {
175 auto *setter = CreateAnonClassFieldGetterSetter(checker, ifaceMethod, true);