File: /var/www/payments-gateway/vendor/symfony/maker-bundle/src/Util/PrettyPrinter.php
<?php
/*
* This file is part of the Symfony MakerBundle package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Bundle\MakerBundle\Util;
use PhpParser\Node\Stmt;
use PhpParser\PrettyPrinter\Standard;
/**
* @internal
*/
final class PrettyPrinter extends Standard
{
/**
* Overridden to fix indentation problem with tabs.
*
* If the original source code uses tabs, then the tokenizer
* will see this as "1" indent level, and will indent new lines
* with just 1 space. By changing 1 indent to 4, we effectively
* "correct" this problem when printing.
*
* For code that is even further indented (e.g. 8 spaces),
* the printer uses the first indentation (here corrected
* from 1 space to 4) and already (without needing any other
* changes) adds 4 spaces onto that. This is why we don't
* also need to handle indent levels of 5, 9, etc: these
* do not occur (at least in the code we generate);
*/
protected function setIndentLevel(int $level): void
{
if (1 === $level) {
$level = 4;
}
parent::setIndentLevel($level);
}
/**
* Overridden to change coding standards.
*
* Before:
* public function getFoo() : string
*
* After
* public function getFoo(): string
*/
protected function pStmt_ClassMethod(Stmt\ClassMethod $node): string
{
$classMethod = parent::pStmt_ClassMethod($node);
if ($node->returnType) {
$classMethod = str_replace(') :', '):', $classMethod);
}
return $classMethod;
}
}