diff --git a/src/Naneau/Obfuscator/Node/Visitor/ScrambleUse.php b/src/Naneau/Obfuscator/Node/Visitor/ScrambleUse.php index 758f41f..dbb935e 100644 --- a/src/Naneau/Obfuscator/Node/Visitor/ScrambleUse.php +++ b/src/Naneau/Obfuscator/Node/Visitor/ScrambleUse.php @@ -123,7 +123,7 @@ public function enterNode(Node $node) return $node; } - if ($node instanceof Node\Stmt\ClassMethod) { + if ($node instanceof Node\Stmt\ClassMethod || $node instanceof Node\Expr\Closure) { if ($node->returnType instanceof Name) { // Name diff --git a/tests/before/Namespaces.php b/tests/before/Namespaces.php index 04b4c40..3c2e2f7 100644 --- a/tests/before/Namespaces.php +++ b/tests/before/Namespaces.php @@ -36,6 +36,8 @@ public function __construct() { class classE extends namespaceDAlias\classD implements namespaceDAlias\interfaceA { public function method(?namespaceDAlias\classD $objectD) : ?namespaceDAlias\classD { + $func = function () : ?namespaceDAlias\classD { + }; } } \ No newline at end of file diff --git a/tests/expected/Namespaces.php b/tests/expected/Namespaces.php index 69fa6e2..f7cf93d 100644 --- a/tests/expected/Namespaces.php +++ b/tests/expected/Namespaces.php @@ -1,2 +1,2 @@ spa26210 = new spf0f507(); $this->sp2e1034 = new sp63627e\classD(); } } class classE extends sp63627e\classD implements sp63627e\interfaceA { public function method(?sp63627e\classD $spc1ac55) : ?sp63627e\classD { } } \ No newline at end of file +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 { }; } } \ No newline at end of file