Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitebcb5da

Browse files
committed
Refactoring of PhpDocBlock that will enable a bugfix down the road
1 parent2f74584 commitebcb5da

File tree

1 file changed

+32
-53
lines changed

1 file changed

+32
-53
lines changed

‎src/PhpDoc/PhpDocBlock.php‎

Lines changed: 32 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -128,18 +128,24 @@ public static function resolvePhpDocBlockForProperty(
128128
array$newPositionalParameterNames,// unused
129129
):self
130130
{
131-
returnself::resolvePhpDocBlockTree(
132-
$docComment,
133-
$classReflection,
134-
$trait,
131+
$docBlocksFromParents =self::resolveParentPhpDocBlocks(
132+
self::getParentReflections($classReflection),
135133
$propertyName,
136-
$file,
137134
'hasNativeProperty',
138135
'getNativeProperty',
139136
__FUNCTION__,
140-
$explicit,
141-
[],
142-
[],
137+
$explicit ??$docComment !==null,
138+
$newPositionalParameterNames,
139+
);
140+
141+
returnnewself(
142+
$docComment ?? ResolvedPhpDocBlock::EMPTY_DOC_STRING,
143+
$file,
144+
$classReflection,
145+
$trait,
146+
$explicit ??true,
147+
self::remapParameterNames($originalPositionalParameterNames,$newPositionalParameterNames),
148+
$docBlocksFromParents,
143149
);
144150
}
145151

@@ -158,18 +164,24 @@ public static function resolvePhpDocBlockForConstant(
158164
array$newPositionalParameterNames,// unused
159165
):self
160166
{
161-
returnself::resolvePhpDocBlockTree(
162-
$docComment,
163-
$classReflection,
164-
null,
167+
$docBlocksFromParents =self::resolveParentPhpDocBlocks(
168+
self::getParentReflections($classReflection),
165169
$constantName,
166-
$file,
167170
'hasConstant',
168171
'getConstant',
169172
__FUNCTION__,
170-
$explicit,
171-
[],
172-
[],
173+
$explicit ??$docComment !==null,
174+
$newPositionalParameterNames,
175+
);
176+
177+
returnnewself(
178+
$docComment ?? ResolvedPhpDocBlock::EMPTY_DOC_STRING,
179+
$file,
180+
$classReflection,
181+
$trait,
182+
$explicit ??true,
183+
self::remapParameterNames($originalPositionalParameterNames,$newPositionalParameterNames),
184+
$docBlocksFromParents,
173185
);
174186
}
175187

@@ -188,45 +200,12 @@ public static function resolvePhpDocBlockForMethod(
188200
array$newPositionalParameterNames,
189201
):self
190202
{
191-
returnself::resolvePhpDocBlockTree(
192-
$docComment,
193-
$classReflection,
194-
$trait,
203+
$docBlocksFromParents =self::resolveParentPhpDocBlocks(
204+
self::getParentReflections($classReflection),
195205
$methodName,
196-
$file,
197206
'hasNativeMethod',
198207
'getNativeMethod',
199208
__FUNCTION__,
200-
$explicit,
201-
$originalPositionalParameterNames,
202-
$newPositionalParameterNames,
203-
);
204-
}
205-
206-
/**
207-
* @param array<int, string> $originalPositionalParameterNames
208-
* @param array<int, string> $newPositionalParameterNames
209-
*/
210-
privatestaticfunctionresolvePhpDocBlockTree(
211-
?string$docComment,
212-
ClassReflection$classReflection,
213-
?string$trait,
214-
string$name,
215-
?string$file,
216-
string$hasMethodName,
217-
string$getMethodName,
218-
string$resolveMethodName,
219-
?bool$explicit,
220-
array$originalPositionalParameterNames,
221-
array$newPositionalParameterNames,
222-
):self
223-
{
224-
$docBlocksFromParents =self::resolveParentPhpDocBlocks(
225-
$classReflection,
226-
$name,
227-
$hasMethodName,
228-
$getMethodName,
229-
$resolveMethodName,
230209
$explicit ??$docComment !==null,
231210
$newPositionalParameterNames,
232211
);
@@ -264,11 +243,12 @@ private static function remapParameterNames(
264243
}
265244

266245
/**
246+
* @param array<int, ClassReflection> $parentReflections
267247
* @param array<int, string> $positionalParameterNames
268248
* @return array<int, self>
269249
*/
270250
privatestaticfunctionresolveParentPhpDocBlocks(
271-
ClassReflection$classReflection,
251+
array$parentReflections,
272252
string$name,
273253
string$hasMethodName,
274254
string$getMethodName,
@@ -278,7 +258,6 @@ private static function resolveParentPhpDocBlocks(
278258
):array
279259
{
280260
$result = [];
281-
$parentReflections =self::getParentReflections($classReflection);
282261

283262
foreach ($parentReflectionsas$parentReflection) {
284263
$oneResult =self::resolvePhpDocBlockFromClass(

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp