PHP 8.2.31
Preview: TraitUse.php Size: 1.55 KB
/opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php

<?php

declare (strict_types=1);
namespace PhpParser\Builder;

use PhpParser\Builder;
use PhpParser\BuilderHelpers;
use PhpParser\Node;
use PhpParser\Node\Stmt;
class TraitUse implements Builder
{
    protected $traits = [];
    protected $adaptations = [];
    /**
     * Creates a trait use builder.
     *
     * @param Node\Name|string ...$traits Names of used traits
     */
    public function __construct(...$traits)
    {
        foreach ($traits as $trait) {
            $this->and($trait);
        }
    }
    /**
     * Adds used trait.
     *
     * @param Node\Name|string $trait Trait name
     *
     * @return $this The builder instance (for fluid interface)
     */
    public function and($trait)
    {
        $this->traits[] = BuilderHelpers::normalizeName($trait);
        return $this;
    }
    /**
     * Adds trait adaptation.
     *
     * @param Stmt\TraitUseAdaptation|Builder\TraitUseAdaptation $adaptation Trait adaptation
     *
     * @return $this The builder instance (for fluid interface)
     */
    public function with($adaptation)
    {
        $adaptation = BuilderHelpers::normalizeNode($adaptation);
        if (!$adaptation instanceof Stmt\TraitUseAdaptation) {
            throw new \LogicException('Adaptation must have type TraitUseAdaptation');
        }
        $this->adaptations[] = $adaptation;
        return $this;
    }
    /**
     * Returns the built node.
     *
     * @return Node The built node
     */
    public function getNode() : Node
    {
        return new Stmt\TraitUse($this->traits, $this->adaptations);
    }
}

Directory Contents

Dirs: 0 × Files: 16

Name Size Perms Modified Actions
3.68 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
3.63 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
965 B lrw-r--r-- 2024-11-08 13:59:10
Edit Download
1.79 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
2.85 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
1.72 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
1.55 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
2.42 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
3.62 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
1.04 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
4.09 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
3.81 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
1.55 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
4.10 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
1.94 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
1.18 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).