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
@@ 168-197 (lines=30) @@
165
     *
166
     * @return array
167
     */
168
    protected function getQueryParameters(ReflectionMethod $method, array $tags)
169
    {
170
        foreach ($method->getParameters() as $param) {
171
            $paramType = $param->getType();
172
            if ($paramType === null) {
173
                continue;
174
            }
175
176
            $parameterClassName = version_compare(phpversion(), '7.1.0', '<')
177
                ? $paramType->__toString()
178
                : $paramType->getName();
179
180
            try {
181
                $parameterClass = new ReflectionClass($parameterClassName);
182
            } catch (\ReflectionException $e) {
183
                continue;
184
            }
185
186
            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)) {
187
                $formRequestDocBlock = new DocBlock($parameterClass->getDocComment());
188
                $queryParametersFromDocBlock = $this->getQueryParametersFromDocBlock($formRequestDocBlock->getTags());
189
190
                if (count($queryParametersFromDocBlock)) {
191
                    return $queryParametersFromDocBlock;
192
                }
193
            }
194
        }
195
196
        return $this->getQueryParametersFromDocBlock($tags);
197
    }
198
199
    /**
200
     * @param array $tags