132132use PHPStan \Parser \ImmediatelyInvokedClosureVisitor ;
133133use PHPStan \Parser \LineAttributesVisitor ;
134134use PHPStan \Parser \Parser ;
135+ use PHPStan \Parser \ReversePipeTransformerVisitor ;
135136use PHPStan \Php \PhpVersion ;
136137use PHPStan \PhpDoc \PhpDocInheritanceResolver ;
137138use PHPStan \PhpDoc \ResolvedPhpDocBlock ;
@@ -3385,7 +3386,7 @@ static function (): void {
33853386 } elseif ($ expr instanceof BinaryOp \Pipe) {
33863387 if ($ expr ->right instanceof FuncCall && $ expr ->right ->isFirstClassCallable ()) {
33873388 $ exprResult = $ this ->processExprNode ($ stmt , new FuncCall ($ expr ->right ->name , [
3388- new Arg ($ expr ->left , attributes: $ expr ->left -> getAttributes ( )),
3389+ new Arg ($ expr ->left , attributes: $ expr ->getAttribute (ReversePipeTransformerVisitor:: ARG_ATTRIBUTES_NAME , [] )),
33893390 ], array_merge ($ expr ->right ->getAttributes (), ['virtualPipeOperatorCall ' => true ])), $ scope , $ nodeCallback , $ context );
33903391 $ scope = $ exprResult ->getScope ();
33913392 $ hasYield = $ exprResult ->hasYield ();
@@ -3394,7 +3395,7 @@ static function (): void {
33943395 $ isAlwaysTerminating = $ exprResult ->isAlwaysTerminating ();
33953396 } elseif ($ expr ->right instanceof MethodCall && $ expr ->right ->isFirstClassCallable ()) {
33963397 $ exprResult = $ this ->processExprNode ($ stmt , new MethodCall ($ expr ->right ->var , $ expr ->right ->name , [
3397- new Arg ($ expr ->left , attributes: $ expr ->left -> getAttributes ( )),
3398+ new Arg ($ expr ->left , attributes: $ expr ->getAttribute (ReversePipeTransformerVisitor:: ARG_ATTRIBUTES_NAME , [] )),
33983399 ], array_merge ($ expr ->right ->getAttributes (), ['virtualPipeOperatorCall ' => true ])), $ scope , $ nodeCallback , $ context );
33993400 $ scope = $ exprResult ->getScope ();
34003401 $ hasYield = $ exprResult ->hasYield ();
@@ -3403,7 +3404,7 @@ static function (): void {
34033404 $ isAlwaysTerminating = $ exprResult ->isAlwaysTerminating ();
34043405 } elseif ($ expr ->right instanceof StaticCall && $ expr ->right ->isFirstClassCallable ()) {
34053406 $ exprResult = $ this ->processExprNode ($ stmt , new StaticCall ($ expr ->right ->class , $ expr ->right ->name , [
3406- new Arg ($ expr ->left , attributes: $ expr ->left -> getAttributes ( )),
3407+ new Arg ($ expr ->left , attributes: $ expr ->getAttribute (ReversePipeTransformerVisitor:: ARG_ATTRIBUTES_NAME , [] )),
34073408 ], array_merge ($ expr ->right ->getAttributes (), ['virtualPipeOperatorCall ' => true ])), $ scope , $ nodeCallback , $ context );
34083409 $ scope = $ exprResult ->getScope ();
34093410 $ hasYield = $ exprResult ->hasYield ();
@@ -3412,7 +3413,7 @@ static function (): void {
34123413 $ isAlwaysTerminating = $ exprResult ->isAlwaysTerminating ();
34133414 } else {
34143415 $ exprResult = $ this ->processExprNode ($ stmt , new FuncCall ($ expr ->right , [
3415- new Arg ($ expr ->left , attributes: $ expr ->left -> getAttributes ( )),
3416+ new Arg ($ expr ->left , attributes: $ expr ->getAttribute (ReversePipeTransformerVisitor:: ARG_ATTRIBUTES_NAME , [] )),
34163417 ], array_merge ($ expr ->right ->getAttributes (), ['virtualPipeOperatorCall ' => true ])), $ scope , $ nodeCallback , $ context );
34173418 $ scope = $ exprResult ->getScope ();
34183419 $ hasYield = $ exprResult ->hasYield ();
0 commit comments