Skip to content

Commit

Permalink
PHP 8 - fix signatures with multiple variants
Browse files Browse the repository at this point in the history
  • Loading branch information
ondrejmirtes committed Feb 10, 2021
1 parent 5886053 commit 8633000
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
8 changes: 0 additions & 8 deletions src/Reflection/SignatureMap/Php8SignatureMapProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,6 @@ public function getMethodSignature(string $className, string $methodName, ?\Refl
return $this->functionSignatureMapProvider->getMethodSignature($className, $methodName, $reflectionMethod, $variant);
}

if ($this->functionSignatureMapProvider->hasMethodSignature($className, $methodName, 1)) {
return $this->functionSignatureMapProvider->getMethodSignature($className, $methodName, $reflectionMethod, $variant);
}

$methodNode = $this->findMethodNode($className, $methodName);
if ($methodNode === null) {
return $this->functionSignatureMapProvider->getMethodSignature($className, $methodName, $reflectionMethod, $variant);
Expand Down Expand Up @@ -157,10 +153,6 @@ public function getFunctionSignature(string $functionName, ?string $className, i
return $this->functionSignatureMapProvider->getFunctionSignature($functionName, $className, $variant);
}

if ($this->functionSignatureMapProvider->hasFunctionSignature($functionName, 1)) {
return $this->functionSignatureMapProvider->getFunctionSignature($functionName, $className, $variant);
}

$stubFile = self::DIRECTORY . '/' . Php8StubsMap::FUNCTIONS[$lowerName];
$nodes = $this->fileNodesFetcher->fetchNodes($stubFile);
$functions = $nodes->getFunctionNodes();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -470,4 +470,9 @@ public function testNamedArguments(): void
$this->analyse([__DIR__ . '/data/named-arguments.php'], $errors);
}

public function testBug4514(): void
{
$this->analyse([__DIR__ . '/data/bug-4514.php'], []);
}

}
6 changes: 6 additions & 0 deletions tests/PHPStan/Rules/Functions/data/bug-4514.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?php declare(strict_types = 1);

$im = imagecreatefromwebp('');
if (false !== $im) {
imagejpeg($im);
}

0 comments on commit 8633000

Please sign in to comment.