Skip to content

Commit dd92f56

Browse files
authored
Merge pull request #12 from Cheburon/fix-use-typehint
fix
2 parents 0cdc636 + a8bd3b5 commit dd92f56

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

src/Naneau/Obfuscator/Node/Visitor/ScrambleUse.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public function enterNode(Node $node)
123123
return $node;
124124
}
125125

126-
if ($node instanceof Node\Stmt\ClassMethod) {
126+
if ($node instanceof Node\Stmt\ClassMethod || $node instanceof Node\Expr\Closure) {
127127

128128
if ($node->returnType instanceof Name) {
129129
// Name

tests/before/Namespaces.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ public function __construct() {
3636
class classE extends namespaceDAlias\classD implements namespaceDAlias\interfaceA {
3737

3838
public function method(?namespaceDAlias\classD $objectD) : ?namespaceDAlias\classD {
39+
$func = function () : ?namespaceDAlias\classD {
3940

41+
};
4042
}
4143
}

tests/expected/Namespaces.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<?php
2-
namespace namespaceA; class classA { } namespace namespaceC\namespaceD; class classD { } interface interfaceA { } namespace namespaceB; use namespaceA\classA as spf0f507; use namespaceC\namespaceD as sp63627e; class classB { private $spa26210; private $sp2e1034; public function __construct() { $this->spa26210 = new spf0f507(); $this->sp2e1034 = new sp63627e\classD(); } } class classE extends sp63627e\classD implements sp63627e\interfaceA { public function method(?sp63627e\classD $spc1ac55) : ?sp63627e\classD { } }
2+
namespace namespaceA; class classA { } namespace namespaceC\namespaceD; class classD { } interface interfaceA { } namespace namespaceB; use namespaceA\classA as spf0f507; use namespaceC\namespaceD as sp63627e; class classB { private $spa26210; private $sp2e1034; public function __construct() { $this->spa26210 = new spf0f507(); $this->sp2e1034 = new sp63627e\classD(); } } class classE extends sp63627e\classD implements sp63627e\interfaceA { public function method(?sp63627e\classD $spc1ac55) : ?sp63627e\classD { $sp7009a4 = function () : ?sp63627e\classD { }; } }

0 commit comments

Comments
 (0)