Code Duplication    Length = 30-30 lines in 2 locations

src/Tools/Generator.php 2 locations

@@ 164-193 (lines=30) @@
161
        return $parameters;
162
    }
163
164
    protected function getBodyParameters(ReflectionMethod $method, array $tags)
165
    {
166
        foreach ($method->getParameters() as $param) {
167
            $paramType = $param->getType();
168
            if ($paramType === null) {
169
                continue;
170
            }
171
172
            $parameterClassName = version_compare(phpversion(), '7.1.0', '<')
173
                ? $paramType->__toString()
174
                : $paramType->getName();
175
176
            try {
177
                $parameterClass = new ReflectionClass($parameterClassName);
178
            } catch (\ReflectionException $e) {
179
                continue;
180
            }
181
182
            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)) {
183
                $formRequestDocBlock = new DocBlock($parameterClass->getDocComment());
184
                $bodyParametersFromDocBlock = $this->getBodyParametersFromDocBlock($formRequestDocBlock->getTags());
185
186
                if (count($bodyParametersFromDocBlock)) {
187
                    return $bodyParametersFromDocBlock;
188
                }
189
            }
190
        }
191
192
        return $this->getBodyParametersFromDocBlock($tags);
193
    }
194
195
    /**
196
     * @param array $tags
@@ 239-268 (lines=30) @@
236
     *
237
     * @return array
238
     */
239
    protected function getQueryParameters(ReflectionMethod $method, array $tags)
240
    {
241
        foreach ($method->getParameters() as $param) {
242
            $paramType = $param->getType();
243
            if ($paramType === null) {
244
                continue;
245
            }
246
247
            $parameterClassName = version_compare(phpversion(), '7.1.0', '<')
248
                ? $paramType->__toString()
249
                : $paramType->getName();
250
251
            try {
252
                $parameterClass = new ReflectionClass($parameterClassName);
253
            } catch (\ReflectionException $e) {
254
                continue;
255
            }
256
257
            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)) {
258
                $formRequestDocBlock = new DocBlock($parameterClass->getDocComment());
259
                $queryParametersFromDocBlock = $this->getQueryParametersFromDocBlock($formRequestDocBlock->getTags());
260
261
                if (count($queryParametersFromDocBlock)) {
262
                    return $queryParametersFromDocBlock;
263
                }
264
            }
265
        }
266
267
        return $this->getQueryParametersFromDocBlock($tags);
268
    }
269
270
    /**
271
     * @param array $tags