<?php 
 
/* 
 * This file is part of Chevere. 
 * 
 * (c) Rodolfo Berrios <[email protected]> 
 * 
 * For the full copyright and license information, please view the LICENSE 
 * file that was distributed with this source code. 
 */ 
 
declare(strict_types=1); 
 
namespace Chevere\Tests\src; 
 
use Chevere\Parameter\Attributes\BoolAttr; 
use Chevere\Parameter\Attributes\NullAttr; 
use Chevere\Parameter\Attributes\StringAttr; 
use Chevere\Parameter\Attributes\UnionAttr; 
use stdClass; 
 
final class Depends 
{ 
    public function useNone($file = 'default') 
    { 
    } 
 
    // public function useNull(null $file = null) 
    // { 
    // } 
 
    public function useObject(stdClass $file) 
    { 
    } 
 
    public function useString( 
        #[StringAttr('/^[a-z]+$/', description: 'A string')] 
        string $string = 'default' 
    ) { 
    } 
 
    public function useUnion(string|int $union) 
    { 
    } 
 
    public function useMixed(mixed $mixed) 
    { 
    } 
 
    public function useWrongUnionAttr( 
        #[UnionAttr( 
            new BoolAttr(), 
            new NullAttr(), 
        )] 
        string|int $union 
    ) { 
    } 
 
    public function useIntersection(stdClass&Depends $intersection) 
    { 
    } 
 
    public function useInvalidAttribute( 
        #[StringAttr()] 
        int $int 
    ) { 
    } 
} 
 
 |