/** * @param $type * @param $mockRequest * * @return ReplacementRequest */ private static function getInstanceForTypeAndRequest($type, $mockRequest) { $instance = new self(); switch ($type) { case 'class': $instance->isFunction = false; $instance->isClass = true; $instance->isStaticMethod = false; $instance->isMethod = false; $instance->isInstanceMethod = false; $instance->requestClassName = $mockRequest; $instance->methodName = false; break; case 'method': $request = preg_split('/(::|->)/', $mockRequest); $className = $request[0]; $methodName = $request[1]; $reflection = new \ReflectionMethod($className, $methodName); $instance->isFunction = false; $instance->isClass = false; $instance->isMethod = true; $instance->isInstanceMethod = !$reflection->isStatic(); $instance->ensure_matching_symbol($mockRequest); $instance->isStaticMethod = $reflection->isStatic(); $instance->requestClassName = $reflection->class; $instance->methodName = $reflection->name; break; case 'function': $instance->isFunction = true; $instance->isClass = false; $instance->isMethod = false; $instance->isStaticMethod = false; $instance->isInstanceMethod = false; $instance->requestClassName = ''; $instance->methodName = $mockRequest; break; } return $instance; }