88use PhpParser \Node \Expr \BinaryOp \Identical ;
99use PhpParser \Node \Expr \ConstFetch ;
1010use PhpParser \Node \Expr \PropertyFetch ;
11+ use PhpParser \Node \Expr \Variable ;
1112use PhpParser \Node \Identifier ;
1213use PhpParser \Node \Stmt \Expression ;
1314use PhpParser \Node \Stmt \If_ ;
@@ -53,8 +54,9 @@ public function processNode(Node $node, Scope $scope): array
5354
5455 [$ ifNode , $ returnNode ] = $ stmts ;
5556
56- if (!$ returnNode instanceof Return_ ||
57- !$ returnNode ->expr instanceof PropertyFetch
57+ if (!$ returnNode instanceof Return_
58+ || !$ returnNode ->expr instanceof PropertyFetch
59+ || !$ returnNode ->expr ->var instanceof Variable
5860 ) {
5961 return [];
6062 }
@@ -66,6 +68,7 @@ public function processNode(Node $node, Scope $scope): array
6668 || $ ifNode ->else !== null
6769 || !$ ifNode ->cond instanceof Identical
6870 || !$ ifNode ->cond ->left instanceof PropertyFetch
71+ || !$ ifNode ->cond ->left ->var instanceof Variable
6972 || !$ ifNode ->cond ->right instanceof ConstFetch
7073 || strcasecmp ($ ifNode ->cond ->right ->name ->name , 'null ' ) !== 0
7174 ) {
@@ -79,7 +82,7 @@ public function processNode(Node $node, Scope $scope): array
7982 }
8083
8184 if (get_class ($ returnNode ->expr ) !== get_class ($ ifNode ->cond ->left )
82- || get_class ( $ returnNode ->expr ->var ) !== get_class ( $ ifNode ->cond ->left ->var )
85+ || $ returnNode ->expr ->var -> name !== $ ifNode ->cond ->left ->var -> name
8386 || !$ returnNode ->expr ->name instanceof Identifier
8487 || !$ ifNode ->cond ->left ->name instanceof Identifier
8588 || $ returnNode ->expr ->name ->name !== $ ifNode ->cond ->left ->name ->name
0 commit comments