@@ -125,35 +125,41 @@ public function resolveMethodTags(PhpDocNode $phpDocNode, NameScope $nameScope):
125125{
126126$ resolved = [];
127127
128- foreach ($ phpDocNode ->getMethodTagValues () as $ tagValue ) {
129- $ parameters = [];
130- foreach ($ tagValue ->parameters as $ parameterNode ) {
131- $ parameterName = substr ($ parameterNode ->parameterName , 1 );
132- $ type = $ parameterNode ->type !== null ? $ this ->typeNodeResolver ->resolve ($ parameterNode ->type , $ nameScope ) : new MixedType ();
133- if ($ parameterNode ->defaultValue instanceof ConstExprNullNode) {
134- $ type = TypeCombinator::addNull ($ type );
135- }
136- $ defaultValue = null ;
137- if ($ parameterNode ->defaultValue !== null ) {
138- $ defaultValue = $ this ->constExprNodeResolver ->resolve ($ parameterNode ->defaultValue );
128+ foreach (['@method ' , '@psalm-method ' , '@phpstan-method ' ] as $ tagName ) {
129+ foreach ($ phpDocNode ->getMethodTagValues ($ tagName ) as $ tagValue ) {
130+ $ parameters = [];
131+ foreach ($ tagValue ->parameters as $ parameterNode ) {
132+ $ parameterName = substr ($ parameterNode ->parameterName , 1 );
133+ $ type = $ parameterNode ->type !== null
134+ ? $ this ->typeNodeResolver ->resolve ($ parameterNode ->type , $ nameScope )
135+ : new MixedType ();
136+ if ($ parameterNode ->defaultValue instanceof ConstExprNullNode) {
137+ $ type = TypeCombinator::addNull ($ type );
138+ }
139+ $ defaultValue = null ;
140+ if ($ parameterNode ->defaultValue !== null ) {
141+ $ defaultValue = $ this ->constExprNodeResolver ->resolve ($ parameterNode ->defaultValue );
142+ }
143+
144+ $ parameters [$ parameterName ] = new MethodTagParameter (
145+ $ type ,
146+ $ parameterNode ->isReference
147+ ? PassedByReference::createCreatesNewVariable ()
148+ : PassedByReference::createNo (),
149+ $ parameterNode ->isVariadic || $ parameterNode ->defaultValue !== null ,
150+ $ parameterNode ->isVariadic ,
151+ $ defaultValue
152+ );
139153}
140154
141- $ parameters [$ parameterName ] = new MethodTagParameter (
142- $ type ,
143- $ parameterNode ->isReference
144- ? PassedByReference::createCreatesNewVariable ()
145- : PassedByReference::createNo (),
146- $ parameterNode ->isVariadic || $ parameterNode ->defaultValue !== null ,
147- $ parameterNode ->isVariadic ,
148- $ defaultValue
155+ $ resolved [$ tagValue ->methodName ] = new MethodTag (
156+ $ tagValue ->returnType !== null
157+ ? $ this ->typeNodeResolver ->resolve ($ tagValue ->returnType , $ nameScope )
158+ : new MixedType (),
159+ $ tagValue ->isStatic ,
160+ $ parameters
149161);
150162}
151-
152- $ resolved [$ tagValue ->methodName ] = new MethodTag (
153- $ tagValue ->returnType !== null ? $ this ->typeNodeResolver ->resolve ($ tagValue ->returnType , $ nameScope ) : new MixedType (),
154- $ tagValue ->isStatic ,
155- $ parameters
156- );
157163}
158164
159165return $ resolved ;
0 commit comments