Lines Matching defs:substitutedSig
313 bool ETSChecker::CheckOptionalLambdaFunction(ir::Expression *argument, Signature *substitutedSig, std::size_t index)
319 CheckLambdaAssignable(substitutedSig->Function()->Params()[index], lambda)) {
336 bool ETSChecker::ValidateSignatureRequiredParams(Signature *substitutedSig,
341 std::size_t const parameterCount = substitutedSig->MinArgCount();
347 if (substitutedSig->Params()[index]->TsType()->IsETSObjectType()) {
356 substitutedSig->Params()[index]->TsType());
368 if (CheckLambdaAssignable(substitutedSig->Function()->Params()[index], lambda)) {
376 this, substitutedSig->Function()->Params()[index], flags);
379 if (!CheckInvokable(substitutedSig, argument, index, flags)) {
390 substitutedSig, argument,
391 TryGettingFunctionTypeFromInvokeFunction(substitutedSig->Params()[index]->TsType()), index, flags)) {
400 bool ETSChecker::CheckInvokable(Signature *substitutedSig, ir::Expression *argument, std::size_t index,
404 auto *targetType = substitutedSig->Params()[index]->TsType();
411 return invocationCtx.IsInvocable() || CheckOptionalLambdaFunction(argument, substitutedSig, index);
414 bool ETSChecker::ValidateSignatureInvocationContext(Signature *substitutedSig, ir::Expression *argument,
419 Relation(), argument, argumentType, substitutedSig->Params()[index]->TsType(), argument->Start(),
422 return CheckOptionalLambdaFunction(argument, substitutedSig, index);
428 bool ETSChecker::ValidateSignatureRestParams(Signature *substitutedSig, const ArenaVector<ir::Expression *> &arguments,
432 std::size_t const parameterCount = substitutedSig->MinArgCount();
442 substitutedSig->RestVar()->TsType()->AsETSArrayType()->ElementType());
446 substitutedSig->RestVar()->TsType()->AsETSArrayType()->ElementType(), argument->Start(),
465 const Type *targetType = TryGettingFunctionTypeFromInvokeFunction(substitutedSig->RestVar()->TsType());
469 Relation(), restArgument, argumentType, substitutedSig->RestVar()->TsType(), argument->Start(),
550 Signature *substitutedSig = MaybeSubstituteTypeParameters(this, signature, typeArguments, arguments, pos, flags);
551 if (substitutedSig == nullptr) {
557 auto const hasRestParameter = substitutedSig->RestVar() != nullptr;
559 std::size_t const parameterCount = substitutedSig->MinArgCount();
575 if (!ValidateSignatureRequiredParams(substitutedSig, arguments, flags, argTypeInferenceRequired, reportError)) {
581 return substitutedSig;
583 if (!ValidateSignatureRestParams(substitutedSig, arguments, flags, reportError)) {
587 return substitutedSig;