Lines Matching defs:classDefinition

24 std::string GenericBridgesPhase::CreateMethodDefinitionString(ir::ClassDefinition const *classDefinition,
70 checker->AllocNode<ir::OpaqueTypeNode>(const_cast<checker::Type *>(classDefinition->TsType())));
77 void GenericBridgesPhase::AddGenericBridge(ir::ClassDefinition const *const classDefinition,
86 auto const sourceCode = CreateMethodDefinitionString(classDefinition, baseSignature, derivedFunction, typeNodes);
92 bridgeMethod->SetParent(const_cast<ir::ClassDefinition *>(classDefinition));
99 varbinder::BoundContext boundCtx {varBinder->GetRecordTable(), const_cast<ir::ClassDefinition *>(classDefinition),
108 classDefinition->TsType()->AsETSObjectType());
126 void GenericBridgesPhase::ProcessScriptFunction(ir::ClassDefinition const *const classDefinition,
134 auto const overrides = [checker, relation, classDefinition](checker::Signature const *source,
138 classDefinition->TsType()->AsETSObjectType());
175 AddGenericBridge(classDefinition, derivedMethod, baseSignature1, derivedFunction);
179 void GenericBridgesPhase::MaybeAddGenericBridges(ir::ClassDefinition const *const classDefinition,
184 ProcessScriptFunction(classDefinition, baseMethod->Function(), derivedMethod, substitutions);
186 ProcessScriptFunction(classDefinition, overload->Function(), derivedMethod, substitutions);
190 void GenericBridgesPhase::CreateGenericBridges(ir::ClassDefinition const *const classDefinition,
193 auto const &classBody = classDefinition->Body();
195 classDefinition->Super()->TsType()->AsETSObjectType()->GetDeclNode()->AsClassDefinition();
201 auto const *const classType = classDefinition->TsType()->AsETSObjectType();
224 MaybeAddGenericBridges(classDefinition, method, (*it)->AsMethodDefinition(), substitutions);
230 ir::ClassDefinition *GenericBridgesPhase::ProcessClassDefinition(ir::ClassDefinition *const classDefinition) const
232 if (classDefinition->Super() == nullptr || classDefinition->Super()->TsType() == nullptr) {
233 return classDefinition;
237 auto const *const superType = classDefinition->Super()->TsType()->AsETSObjectType();
241 return classDefinition;
272 CreateGenericBridges(classDefinition, substitutions);
275 return classDefinition;