Skip to content

Commit

Permalink
test functions
Browse files Browse the repository at this point in the history
  • Loading branch information
staabm committed Oct 6, 2024
1 parent 6aa9703 commit 21e164b
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
7 changes: 3 additions & 4 deletions src/Parser/VariadicMethodsVisitor.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@
use PhpParser\Node\Name;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\NodeVisitorAbstract;
use PHPStan\Node\AnonymousClassNode;
use PHPStan\Reflection\ParametersAcceptor;
use PHPStan\TrinaryLogic;
use function array_key_exists;
use function array_pop;
use function implode;
use function in_array;

final class VariadicMethodsVisitor extends NodeVisitorAbstract
Expand All @@ -21,9 +22,7 @@ final class VariadicMethodsVisitor extends NodeVisitorAbstract

private ?string $inClassLike = null;

/**
* @var array<string>
*/
/** @var array<string> */
private array $classStack = [];

private ?string $inMethod = null;
Expand Down
3 changes: 2 additions & 1 deletion tests/PHPStan/Parser/ParserTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public function dataVariadicCallLikes(): iterable
'VariadicFunctions\variadic_fn1' => TrinaryLogic::createYes(),
'VariadicFunctions\nonvariadic' => TrinaryLogic::createNo(),
'VariadicFunctions\maybe_variadic_fn1' => TrinaryLogic::createNo(),
'VariadicFunctions\implicit_variadic_fn1' => TrinaryLogic::createYes(),
],
];

Expand Down Expand Up @@ -60,7 +61,7 @@ public function dataVariadicCallLikes(): iterable
'variadic_fn1' => TrinaryLogic::createNo(), // variadicness later on detected via reflection
'implicit_variadic_fn1' => TrinaryLogic::createYes(),
],
]
],
];
}

Expand Down
4 changes: 4 additions & 0 deletions tests/PHPStan/Parser/data/variadic-functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,7 @@ function maybe_variadic_fn1(...$v)
$fn2 = function ($x) use ($y) {
return $x + $y;
};

function implicit_variadic_fn1() {
$args = func_get_args();
}

0 comments on commit 21e164b

Please sign in to comment.