protected static function _generateAbstractMethods($class)
{
$result = [];
if (!class_exists($class)) {
throw new MissingImplementationException("Unexisting parent class `{$class}`");
}
$reflection = Inspector::inspect($class);
$methods = $reflection->getMethods(ReflectionMethod::IS_ABSTRACT);
foreach ($methods as $method) {
$result[$method->getName()] = static::_generateMethod($method);
}
return $result;
}