Skip to content

Commit

Permalink
Merge pull request naneau#9 from Cheburon/fix-typehint-use-bug
Browse files Browse the repository at this point in the history
fix
  • Loading branch information
Cheburon committed Apr 6, 2017
2 parents 1777fdc + 6c8cc2f commit 633518d
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 1 deletion.
4 changes: 4 additions & 0 deletions src/Naneau/Obfuscator/Node/Visitor/ScrambleUse.php
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ public function enterNode(Node $node)
if ($this->isRenamed($name)) {
$node->type = $this->getNewName($name);
return $node;
} elseif ($this->isRenamed($node->type->getFirst())) {
reset($node->type->parts);
$node->type->parts[key($node->type->parts)] = $this->getNewName($node->type->getFirst());
return $node;
}
}

Expand Down
3 changes: 3 additions & 0 deletions tests/before/Namespaces.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,7 @@ public function __construct() {

class classE extends namespaceDAlias\classD implements namespaceDAlias\interfaceA {

public function method(namespaceDAlias\classD $objectD) {

}
}
2 changes: 1 addition & 1 deletion tests/expected/Namespaces.php
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?php
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 { }
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) { } }

0 comments on commit 633518d

Please sign in to comment.