Code Duplication    Length = 30-30 lines in 2 locations

src/Tools/Generator.php 2 locations

@@ 91-120 (lines=30) @@
88
        return $parsedRoute;
89
    }
90
91
    protected function getBodyParameters(ReflectionMethod $method, array $tags)
92
    {
93
        foreach ($method->getParameters() as $param) {
94
            $paramType = $param->getType();
95
            if ($paramType === null) {
96
                continue;
97
            }
98
99
            $parameterClassName = version_compare(phpversion(), '7.1.0', '<')
100
                ? $paramType->__toString()
101
                : $paramType->getName();
102
103
            try {
104
                $parameterClass = new ReflectionClass($parameterClassName);
105
            } catch (\ReflectionException $e) {
106
                continue;
107
            }
108
109
            if (class_exists('\Illuminate\Foundation\Http\FormRequest') && $parameterClass->isSubclassOf(\Illuminate\Foundation\Http\FormRequest::class) || class_exists('\Dingo\Api\Http\FormRequest') && $parameterClass->isSubclassOf(\Dingo\Api\Http\FormRequest::class)) {
110
                $formRequestDocBlock = new DocBlock($parameterClass->getDocComment());
111
                $bodyParametersFromDocBlock = $this->getBodyParametersFromDocBlock($formRequestDocBlock->getTags());
112
113
                if (count($bodyParametersFromDocBlock)) {
114
                    return $bodyParametersFromDocBlock;
115
                }
116
            }
117
        }
118
119
        return $this->getBodyParametersFromDocBlock($tags);
120
    }
121
122
    /**
123
     * @param array $tags
@@ 169-198 (lines=30) @@
166
     *
167
     * @return array
168
     */
169
    protected function getQueryParameters(ReflectionMethod $method, array $tags)
170
    {
171
        foreach ($method->getParameters() as $param) {
172
            $paramType = $param->getType();
173
            if ($paramType === null) {
174
                continue;
175
            }
176
177
            $parameterClassName = version_compare(phpversion(), '7.1.0', '<')
178
                ? $paramType->__toString()
179
                : $paramType->getName();
180
181
            try {
182
                $parameterClass = new ReflectionClass($parameterClassName);
183
            } catch (\ReflectionException $e) {
184
                continue;
185
            }
186
187
            if (class_exists('\Illuminate\Foundation\Http\FormRequest') && $parameterClass->isSubclassOf(\Illuminate\Foundation\Http\FormRequest::class) || class_exists('\Dingo\Api\Http\FormRequest') && $parameterClass->isSubclassOf(\Dingo\Api\Http\FormRequest::class)) {
188
                $formRequestDocBlock = new DocBlock($parameterClass->getDocComment());
189
                $queryParametersFromDocBlock = $this->getQueryParametersFromDocBlock($formRequestDocBlock->getTags());
190
191
                if (count($queryParametersFromDocBlock)) {
192
                    return $queryParametersFromDocBlock;
193
                }
194
            }
195
        }
196
197
        return $this->getQueryParametersFromDocBlock($tags);
198
    }
199
200
    /**
201
     * @param array $tags