Skip to content

Commit a6f295e

Browse files
authored
TypeNodeResolver - check for existing Integer class before resolving to int
1 parent 2d24ffc commit a6f295e

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

Diff for: src/PhpDoc/TypeNodeResolver.php

+8
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,15 @@ private function resolveIdentifierTypeNode(IdentifierTypeNode $typeNode, NameSco
199199
{
200200
switch (strtolower($typeNode->name)) {
201201
case 'int':
202+
return new IntegerType();
203+
202204
case 'integer':
205+
$type = $this->tryResolvePseudoTypeClassType($typeNode, $nameScope);
206+
207+
if ($type !== null) {
208+
return $type;
209+
}
210+
203211
return new IntegerType();
204212

205213
case 'positive-int':

Diff for: tests/PHPStan/Analyser/nsrt/bug-12660.php

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php declare(strict_types = 1);
2+
3+
namespace Bug12660;
4+
5+
use function PHPStan\Testing\assertType;
6+
7+
class Integer
8+
{
9+
10+
}
11+
12+
class HelloWorld
13+
{
14+
/**
15+
* @param Integer $integer
16+
*/
17+
public function sayHello($integer): void
18+
{
19+
assertType(Integer::class, $integer);
20+
}
21+
}

0 commit comments

Comments
 (0)