Code Duplication    Length = 16-16 lines in 2 locations

classes/ClassGenerator.php 2 locations

@@ 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