!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)

/var/www/html/queuepro/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/   drwxrwxr-x
Free 13.25 GB of 57.97 GB (22.85%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     ClassNode.php (3.67 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of the Prophecy.
 * (c) Konstantin Kudryashov <ever.zet@gmail.com>
 *     Marcello Duarte <marcello.duarte@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Prophecy\Doubler\Generator\Node;

use 
Prophecy\Exception\Doubler\MethodNotExtendableException;
use 
Prophecy\Exception\InvalidArgumentException;

/**
 * Class node.
 *
 * @author Konstantin Kudryashov <ever.zet@gmail.com>
 */
class ClassNode
{
    private 
$parentClass 'stdClass';
    private 
$interfaces  = array();
    private 
$properties  = array();
    private 
$unextendableMethods = array();

    
/**
     * @var MethodNode[]
     */
    
private $methods     = array();

    public function 
getParentClass()
    {
        return 
$this->parentClass;
    }

    
/**
     * @param string $class
     */
    
public function setParentClass($class)
    {
        
$this->parentClass $class ?: 'stdClass';
    }

    
/**
     * @return string[]
     */
    
public function getInterfaces()
    {
        return 
$this->interfaces;
    }

    
/**
     * @param string $interface
     */
    
public function addInterface($interface)
    {
        if (
$this->hasInterface($interface)) {
            return;
        }

        
array_unshift($this->interfaces$interface);
    }

    
/**
     * @param string $interface
     *
     * @return bool
     */
    
public function hasInterface($interface)
    {
        return 
in_array($interface$this->interfaces);
    }

    public function 
getProperties()
    {
        return 
$this->properties;
    }

    public function 
addProperty($name$visibility 'public')
    {
        
$visibility strtolower($visibility);

        if (!
in_array($visibility, array('public''private''protected'))) {
            throw new 
InvalidArgumentException(sprintf(
                
'`%s` property visibility is not supported.'$visibility
            
));
        }

        
$this->properties[$name] = $visibility;
    }

    
/**
     * @return MethodNode[]
     */
    
public function getMethods()
    {
        return 
$this->methods;
    }

    public function 
addMethod(MethodNode $method$force false)
    {
        if (!
$this->isExtendable($method->getName())){
            
$message sprintf(
                
'Method `%s` is not extendable, so can not be added.'$method->getName()
            );
            throw new 
MethodNotExtendableException($message$this->getParentClass(), $method->getName());
        }

        if (
$force || !isset($this->methods[$method->getName()])) {
            
$this->methods[$method->getName()] = $method;
        }
    }

    public function 
removeMethod($name)
    {
        unset(
$this->methods[$name]);
    }

    
/**
     * @param string $name
     *
     * @return MethodNode|null
     */
    
public function getMethod($name)
    {
        return 
$this->hasMethod($name) ? $this->methods[$name] : null;
    }

    
/**
     * @param string $name
     *
     * @return bool
     */
    
public function hasMethod($name)
    {
        return isset(
$this->methods[$name]);
    }

    
/**
     * @return string[]
     */
    
public function getUnextendableMethods()
    {
        return 
$this->unextendableMethods;
    }

    
/**
     * @param string $unextendableMethod
     */
    
public function addUnextendableMethod($unextendableMethod)
    {
        if (!
$this->isExtendable($unextendableMethod)){
            return;
        }
        
$this->unextendableMethods[] = $unextendableMethod;
    }

    
/**
     * @param string $method
     * @return bool
     */
    
public function isExtendable($method)
    {
        return !
in_array($method$this->unextendableMethods);
    }
}

:: 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.0053 ]--