@@ -1158,40 +1158,20 @@ protected function emitNullsafeInstance($result, $instance) {
11581158 $ this ->emitOne ($ result , $ instance ->member );
11591159 }
11601160
1161- protected function emitPipeTarget ($ result , $ target , $ arg ) {
1162- if ($ target instanceof CallableNewExpression) {
1163- $ target ->type ->arguments = [new Variable (substr ($ arg , 1 ))];
1164- $ this ->emitOne ($ result , $ target ->type );
1165- $ target ->type ->arguments = null ;
1166- } else if ($ target instanceof CallableExpression) {
1167- $ this ->emitOne ($ result , $ target ->expression );
1168- $ result ->out ->write ('( ' .$ arg .') ' );
1169- } else {
1170- $ result ->out ->write ('( ' );
1171- $ this ->emitOne ($ result , $ target );
1172- $ result ->out ->write (')( ' .$ arg .') ' );
1173- }
1174- }
1175-
11761161 protected function emitPipe ($ result , $ pipe ) {
1177-
1178- // $expr |> strtoupper(...) => [$arg= $expr, strtoupper($arg)][1]
1179- $ t = $ result ->temp ();
1180- $ result ->out ->write ('[ ' .$ t .'= ' );
11811162 $ this ->emitOne ($ result , $ pipe ->expression );
1182- $ result ->out ->write (', ' );
1183- $ this ->emitPipeTarget ($ result , $ pipe ->target , $ t );
1184- $ result ->out ->write ('][1] ' );
1163+ $ result ->out ->write ('|> ' );
1164+ $ this ->emitOne ($ result , $ pipe ->target );
11851165 }
11861166
11871167 protected function emitNullsafePipe ($ result , $ pipe ) {
11881168
1189- // $expr ?|> strtoupper(...) => null === ($arg = $expr) ? null : strtoupper($arg )
1169+ // $expr ?|> strtoupper(...) => null === ($t = $expr) ? null : $t |> strtoupper(... )
11901170 $ t = $ result ->temp ();
11911171 $ result ->out ->write ('null===( ' .$ t .'= ' );
11921172 $ this ->emitOne ($ result , $ pipe ->expression );
1193- $ result ->out ->write (')?null: ' );
1194- $ this ->emitPipeTarget ($ result , $ pipe ->target , $ t );
1173+ $ result ->out ->write (')?null: ' . $ t . ' |> ' );
1174+ $ this ->emitOne ($ result , $ pipe ->target );
11951175 }
11961176
11971177 protected function emitUnpack ($ result , $ unpack ) {
0 commit comments