Code Duplication    Length = 30-30 lines in 2 locations

src/Tools/Generator.php 2 locations

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