!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/uploads/script/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/   drwxr-xr-x
Free 13.03 GB of 57.97 GB (22.48%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     TypeNodeAbstract.php (2.44 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Prophecy\Doubler\Generator\Node;

use 
Prophecy\Exception\Doubler\DoubleException;

abstract class 
TypeNodeAbstract
{
    
/** @var string[] */
    
protected $types = [];

    public function 
__construct(string ...$types)
    {
        foreach (
$types as $type) {
            
$type $this->getRealType($type);
            
$this->types[$type] = $type;
        }

        
$this->guardIsValidType();
    }

    public function 
canUseNullShorthand(): bool
    
{
        return isset(
$this->types['null']) && count($this->types) <= 2;
    }

    public function 
getTypes(): array
    {
        return 
array_values($this->types);
    }

    public function 
getNonNullTypes(): array
    {
        
$nonNullTypes $this->types;
        unset(
$nonNullTypes['null']);

        return 
array_values($nonNullTypes);
    }

    protected function 
prefixWithNsSeparator(string $type): string
    
{
        return 
'\\' ltrim($type'\\');
    }

    protected function 
getRealType(string $type): string
    
{
        switch (
$type) {
            
// type aliases
            
case 'double':
            case 
'real':
                return 
'float';
            case 
'boolean':
                return 
'bool';
            case 
'integer':
                return 
'int';

            
//  built in types
            
case 'self':
            case 
'array':
            case 
'callable':
            case 
'bool':
            case 
'false':
            case 
'float':
            case 
'int':
            case 
'string':
            case 
'iterable':
            case 
'object':
            case 
'null':
                return 
$type;
            case 
'mixed':
                return 
\PHP_VERSION_ID 80000 $this->prefixWithNsSeparator($type) : $type;

            default:
                return 
$this->prefixWithNsSeparator($type);
        }
    }

    protected function 
guardIsValidType()
    {
        if (
$this->types == ['null' => 'null']) {
            throw new 
DoubleException('Type cannot be standalone null');
        }

        if (
$this->types == ['false' => 'false']) {
            throw new 
DoubleException('Type cannot be standalone false');
        }

        if (
$this->types == ['false' => 'false''null' => 'null']) {
            throw new 
DoubleException('Type cannot be nullable false');
        }

        if (
\PHP_VERSION_ID >= 80000 && isset($this->types['mixed']) && count($this->types) !== 1) {
            throw new 
DoubleException('mixed cannot be part of a union');
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0064 ]--