Code Duplication    Length = 30-30 lines in 2 locations

src/Tools/Generator.php 2 locations

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