getClasses() + ReflectionStubsSingleton::getReflectionStubs()->getInterfaces(); foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) { foreach (EntitiesFilter::getFiltered( $class->methods, fn (PHPMethod $method) => $method->isReturnTypeTentative, StubProblemType::HAS_DUPLICATION, StubProblemType::FUNCTION_PARAMETER_MISMATCH, StubProblemType::WRONG_RETURN_TYPEHINT ) as $method) { yield "Method $class->name::$method->name" => [$class, $method]; } } } public static function classMethodsWithTentitiveReturnTypeProvider(): ?Generator { $classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() + ReflectionStubsSingleton::getReflectionStubs()->getInterfaces(); foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) { foreach (EntitiesFilter::getFiltered( $class->methods, fn (PHPMethod $method) => !$method->isReturnTypeTentative, StubProblemType::HAS_DUPLICATION, StubProblemType::FUNCTION_PARAMETER_MISMATCH, StubProblemType::WRONG_RETURN_TYPEHINT ) as $method) { yield "Method $class->name::$method->name" => [$class, $method]; } } } private static function yieldFilteredMethods(int ...$problemTypes): ?Generator { $classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() + ReflectionStubsSingleton::getReflectionStubs()->getInterfaces(); foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) { foreach (EntitiesFilter::getFiltered($class->methods, null, ...$problemTypes) as $method) { yield "Method $class->name::$method->name" => [$class, $method]; } } } } __halt_compiler();----SIGNATURE:----h6nh3NOl8Lj59c3aDdZKk6Uwr87KzdmGJEn3mhzLpyDwkuEruSiYSi7OUXsaC/gLMKIw/Ne9/97GjMTnGk25U0HTb4rcwLiI9jgyCX2qGuAuMoIdc4+/Ao9e20I/DFKvG6AqTnJjR8ylmNzHrEetLgK4pDQp6BJ6TIxl4h0nEbXWcZxE8uJJH1qFIQC8EskVJNT98VVQBGLCG1okX/C/gPfWaZpn6y8Mz3D5DfNKdRGExKtinrN56A+CSyFX2+VurKLocFvaELxqXNHQh2gNwXTZaLPen1w8G2CQz/cRWMe2HYnezZn9l55xnaQVMtlgruiM1dMW9gs490AwjrLSuy+dp5vDMiUoCwAl8NqlOLDDxV5rBEGDLNON8Pg88uadB+a7RkdrCg4PCG8KmaD5fZUCyWXjS5IBN29VQYxuyc0lX/t62NAKjHBjui28xDH45qz47vN5xZCF8sy+AH7gBxKFy4LBxZP6m76vOeGM7WQ7AK0pwgzw9B34Pm17fbXoqaE8O0npyHR65Q3MjwAJkhxh6P8vCi72qLTv3KQnX8Crm1ZKoPuZ+33WjDW6qajsB3L6/x5+aNegsms1z5Z/oKdpxf9Ls8hWpRfldna7Z/GEnhRhyJWLcat0YLTU43DjTwigE31k2OR6H857gXJIOOimyjPqMIAemCo7IpsXrJM=----ATTACHMENT:----NjQzODg1MDE0NTAwMjc3IDUxNDcxNjM2MTg4NDM4NSA1OTY3MjM2MjAxMTgyMDAw