| @@ 387-402 (lines=16) @@ | ||
| 384 | * @param string $type | |
| 385 | * @return ClassGenerator | |
| 386 | */ | |
| 387 | public function generateArrayPop(string $name, string $type): ClassGenerator | |
| 388 |     { | |
| 389 | $this->class | |
| 390 |             ->addMethod(static::camelCase('pop_' . $name)) | |
| 391 | ->addComment( | |
| 392 | '@return null|' . $this->getCommentTypeHint($type) | |
| 393 | )->setReturnType($this->getTypeHint($type)) | |
| 394 | ->setReturnNullable(true) | |
| 395 | ->setBody( | |
| 396 |                 'if (!isset($this->__' . $name . '__[0])) {' . PHP_EOL . | |
| 397 | ' return null;' . PHP_EOL . | |
| 398 | '}' . PHP_EOL . | |
| 399 | 'return array_pop($this->__' . $name . '__[0]);' | |
| 400 | ); | |
| 401 | return $this; | |
| 402 | } | |
| 403 | ||
| 404 | /** | |
| 405 | * @param string $name | |
| @@ 409-424 (lines=16) @@ | ||
| 406 | * @param string $type | |
| 407 | * @return ClassGenerator | |
| 408 | */ | |
| 409 | public function generateArrayShift(string $name, string $type): ClassGenerator | |
| 410 |     { | |
| 411 | $this->class | |
| 412 |             ->addMethod(static::camelCase('shift_' . $name)) | |
| 413 | ->addComment( | |
| 414 | '@return null|' . $this->getCommentTypeHint($type) | |
| 415 | )->setReturnType($this->getTypeHint($type)) | |
| 416 | ->setReturnNullable(true) | |
| 417 | ->setBody( | |
| 418 |                 'if (!isset($this->__' . $name . '__[0])) {' . PHP_EOL . | |
| 419 | ' return null;' . PHP_EOL . | |
| 420 | '}' . PHP_EOL . | |
| 421 | 'return array_shift($this->__' . $name . '__[0]);' | |
| 422 | ); | |
| 423 | return $this; | |
| 424 | } | |
| 425 | ||
| 426 | /** | |
| 427 | * @param string $name | |