Lines Matching defs:ifaceNode
182 ir::TSInterfaceDeclaration *ifaceNode, ir::ObjectExpression *objExpr)
184 for (auto *extendedIface : ifaceNode->TsType()->AsETSObjectType()->Interfaces()) {
189 FillClassBody(checker, classBody, ifaceNode->Body()->Body(), objExpr);
193 ir::TSInterfaceDeclaration *ifaceNode,
196 if (ifaceNode->GetAnonClass() != nullptr) {
197 return ifaceNode->GetAnonClass()->Definition()->TsType()->AsETSObjectType();
200 auto classBodyBuilder = [checker, ifaceNode, objExpr](ArenaVector<ir::AstNode *> *classBody) {
201 if (ifaceNode->TsType() == nullptr) {
202 ifaceNode->Check(checker);
205 FillAnonClassBody(checker, classBody, ifaceNode, objExpr);
210 className.Append(ifaceNode->Id()->Name());
216 if (ifaceNode->TypeParams() != nullptr) {
223 checker->AllocNode<ir::TSClassImplements>(checker->AllocNode<ir::OpaqueTypeNode>(ifaceNode->TsType()));
229 ifaceNode->SetAnonClass(classDecl);
237 auto *ifaceNode = targetType->AsETSObjectType()->GetDeclNode()->AsTSInterfaceDeclaration();
238 auto *resultType = GenerateAnonClassTypeFromInterface(checker, ifaceNode, objExpr);