Code Duplication    Length = 30-30 lines in 2 locations

src/Tools/Generator.php 2 locations

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