name($parameter->name)" => [$function, $parameter]; } } } public static function functionParametersWithTypeProvider(): ?Generator { foreach (EntitiesFilter::getFilteredFunctions() as $function) { foreach (EntitiesFilter::getFilteredParameters( $function, null, StubProblemType::PARAMETER_TYPE_MISMATCH ) as $parameter) { yield "$function->name($parameter->name)" => [$function, $parameter]; } } } public static function functionOptionalParametersProvider(): ?Generator { foreach (EntitiesFilter::getFilteredFunctions() as $function) { foreach (EntitiesFilter::getFilteredParameters( $function, fn (PHPParameter $parameter) => !$parameter->isOptional, StubProblemType::PARAMETER_TYPE_MISMATCH, StubProblemType::WRONG_OPTIONALLITY ) as $parameter) { yield "$function->name($parameter->name)" => [$function, $parameter]; } } } public static function functionOptionalParametersWithDefaultValueProvider(): ?Generator { foreach (EntitiesFilter::getFilteredFunctions() as $function) { foreach (EntitiesFilter::getFilteredParameters( $function, fn (PHPParameter $parameter) => !$parameter->isOptional, StubProblemType::WRONG_PARAMETER_DEFAULT_VALUE ) as $parameter) { yield "$function->name($parameter->name)" => [$function, $parameter]; } } } public static function methodParametersProvider(): ?Generator { $classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() + ReflectionStubsSingleton::getReflectionStubs()->getInterfaces(); foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) { //exclude classes from PHPReflectionParser if (strncmp($class->name, 'PHP', 3) !== 0) { foreach (EntitiesFilter::getFilteredFunctions($class) as $method) { foreach (EntitiesFilter::getFilteredParameters($method) as $parameter) { yield "$class->name::$method->name($parameter->name)" => [$class, $method, $parameter]; } } } } } public static function methodOptionalParametersProvider(): ?Generator { $classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() + ReflectionStubsSingleton::getReflectionStubs()->getInterfaces(); foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) { //exclude classes from PHPReflectionParser if (strncmp($class->name, 'PHP', 3) !== 0) { foreach (EntitiesFilter::getFilteredFunctions($class) as $method) { foreach (EntitiesFilter::getFilteredParameters( $method, null, StubProblemType::WRONG_OPTIONALLITY ) as $parameter) { yield "$class->name::$method->name($parameter->name)" => [$class, $method, $parameter]; } } } } } public static function methodOptionalParametersWithDefaultValueProvider(): ?Generator { $classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() + ReflectionStubsSingleton::getReflectionStubs()->getInterfaces(); foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) { //exclude classes from PHPReflectionParser if (strncmp($class->name, 'PHP', 3) !== 0) { foreach (EntitiesFilter::getFilteredFunctions($class) as $method) { foreach (EntitiesFilter::getFilteredParameters( $method, fn (PHPParameter $parameter) => !$parameter->isOptional || empty($parameter->defaultValue), StubProblemType::WRONG_PARAMETER_DEFAULT_VALUE ) as $parameter) { yield "$class->name::$method->name($parameter->name)" => [$class, $method, $parameter]; } } } } } } __halt_compiler();----SIGNATURE:----VuFAP8a6r6I2wGY0WDQZ80UKeyXki3PRZJZAihZ/c/jhV2wG7GmsRv10I/hzNzZp3yzSCHbwIXSDOpFIKJ7vubyYU6Z/69Vm4tviuXmEqSyBN5EfdQ91QAvv1OrmQ50PIH6csbBlC59v9XAU7pJADmigepxipNjyAugotA6JhspoxLDZeX6Zgxzg8yPEee06msUN0in7pO6lpq9Xk26n/ZyQHGWl75Ygx4ak+KrPlB1QyHcSrITrH6N8TjwsPe5rpbpjZRkIB+nbkJXRz9LbEp6ACQwH/egfcIDCyxSnAcslzkXIflNLpSfJL1V8DLYa/yS+WDxI/Y3YE0P5btjmLchHmNCBUoIYyypn9NaosYRBp8ea0qGsjQIXtXtXpgfxgLHSQiKdAHrI6jSjwTIsqCo+N3SyDk3v5GYg2Euqj3QUjVknNl206VNSB9xtAlQraYHeBRHLl5f2JCdqTpn4X/TU2w7QnUV//uEUDQ2qJtUXv4rNpWGcc6puAqpWitYwE9z7eNd84EMxdIzFwWED/9GM2PHve3JIExr4TfMRmAJV79CVfGKuzFeD3D31A5cMRVFIaCwNuivbLC1a4lkW4vtjSp+5MZNnhs9GgwX0S+UXd6V1AgAU+UDwKKL0+P5xEbahqw5ZAh8qDRZED4Ii3UtcbKOOmcsJx2f62kAr+94=----ATTACHMENT:----NzgzNzQ3MDk1MDc5Njk3MSA5ODE0NjE1NzMxNDk0MzQyIDM4MDI3NDEwNDA4MzA4ODY=