File tree Expand file tree Collapse file tree 3 files changed +17
-3
lines changed
src/Naneau/Obfuscator/Node/Visitor Expand file tree Collapse file tree 3 files changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -156,9 +156,23 @@ public function enterNode(Node $node)
156
156
}
157
157
}
158
158
159
+ if ($ node instanceof Param && $ node ->type instanceof Node \NullableType && $ node ->type ->type instanceof Name) {
160
+ // Name
161
+ $ name = $ node ->type ->type ->toString ();
162
+
163
+ // Has it been renamed?
164
+ if ($ this ->isRenamed ($ name )) {
165
+ $ node ->type ->type = $ this ->getNewName ($ name );
166
+ return $ node ;
167
+ } elseif ($ this ->isRenamed ($ node ->type ->type ->getFirst ())) {
168
+ reset ($ node ->type ->type ->parts );
169
+ $ node ->type ->type ->parts [key ($ node ->type ->type ->parts )] = $ this ->getNewName ($ node ->type ->type ->getFirst ());
170
+ return $ node ;
171
+ }
172
+ }
173
+
159
174
// Param rename
160
175
if ($ node instanceof Param && $ node ->type instanceof Name) {
161
-
162
176
// Name
163
177
$ name = $ node ->type ->toString ();
164
178
Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ public function __construct() {
35
35
36
36
class classE extends namespaceDAlias \classD implements namespaceDAlias \interfaceA {
37
37
38
- public function method (namespaceDAlias \classD $ objectD ) : ?namespaceDAlias \classD {
38
+ public function method (? namespaceDAlias \classD $ objectD ) : ?namespaceDAlias \classD {
39
39
40
40
}
41
41
}
Original file line number Diff line number Diff line change 1
1
<?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 { } }
You can’t perform that action at this time.
0 commit comments