Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 13.59.141.195
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
www /
3 /
psy /
psysh /
src /
CodeCleaner /
Delete
Unzip
Name
Size
Permission
Date
Action
AbstractClassPass.php
2.14
KB
-rw-r--r--
2018-10-13 09:00
AssignThisVariablePass.php
1.01
KB
-rw-r--r--
2018-10-13 09:00
CallTimePassByReferencePass.php
1.36
KB
-rw-r--r--
2018-10-13 09:00
CalledClassPass.php
2.33
KB
-rw-r--r--
2018-10-13 09:00
CodeCleanerPass.php
415
B
-rw-r--r--
2018-10-13 09:00
ExitPass.php
748
B
-rw-r--r--
2018-10-13 09:00
FinalClassPass.php
1.62
KB
-rw-r--r--
2018-10-13 09:00
FunctionContextPass.php
1.31
KB
-rw-r--r--
2018-10-13 09:00
FunctionReturnInWriteContextPass.php
2.97
KB
-rw-r--r--
2018-10-13 09:00
ImplicitReturnPass.php
4.14
KB
-rw-r--r--
2018-10-13 09:00
InstanceOfPass.php
1.3
KB
-rw-r--r--
2018-10-13 09:00
LeavePsyshAlonePass.php
913
B
-rw-r--r--
2018-10-13 09:00
LegacyEmptyPass.php
1.68
KB
-rw-r--r--
2018-10-13 09:00
ListPass.php
3.21
KB
-rw-r--r--
2018-10-13 09:00
LoopContextPass.php
3.39
KB
-rw-r--r--
2018-10-13 09:00
MagicConstantsPass.php
1.04
KB
-rw-r--r--
2018-10-13 09:00
NamespaceAwarePass.php
1.81
KB
-rw-r--r--
2018-10-13 09:00
NamespacePass.php
2.36
KB
-rw-r--r--
2018-10-13 09:00
NoReturnValue.php
889
B
-rw-r--r--
2018-10-13 09:00
PassableByReferencePass.php
3.76
KB
-rw-r--r--
2018-10-13 09:00
RequirePass.php
3
KB
-rw-r--r--
2018-10-13 09:00
StrictTypesPass.php
2.65
KB
-rw-r--r--
2018-10-13 09:00
UseStatementPass.php
4.08
KB
-rw-r--r--
2018-10-13 09:00
ValidClassNamePass.php
12.08
KB
-rw-r--r--
2018-10-13 09:00
ValidConstantPass.php
3.13
KB
-rw-r--r--
2018-10-13 09:00
ValidConstructorPass.php
3.79
KB
-rw-r--r--
2018-10-13 09:00
ValidFunctionNamePass.php
3.16
KB
-rw-r--r--
2018-10-13 09:00
Save
Rename
<?php /* * This file is part of Psy Shell. * * (c) 2012-2018 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Psy\CodeCleaner; use PhpParser\Node; use PhpParser\Node\Name; use PhpParser\Node\Name\FullyQualified as FullyQualifiedName; use PhpParser\Node\Stmt\GroupUse; use PhpParser\Node\Stmt\Namespace_; use PhpParser\Node\Stmt\Use_; use PhpParser\NodeTraverser; /** * Provide implicit use statements for subsequent execution. * * The use statement pass remembers the last use statement line encountered: * * use Foo\Bar as Baz; * * ... which it then applies implicitly to all future evaluated code, until the * current namespace is replaced by another namespace. */ class UseStatementPass extends CodeCleanerPass { private $aliases = []; private $lastAliases = []; private $lastNamespace = null; /** * Re-load the last set of use statements on re-entering a namespace. * * This isn't how namespaces normally work, but because PsySH has to spin * up a new namespace for every line of code, we do this to make things * work like you'd expect. * * @param Node $node */ public function enterNode(Node $node) { if ($node instanceof Namespace_) { // If this is the same namespace as last namespace, let's do ourselves // a favor and reload all the aliases... if (\strtolower($node->name) === \strtolower($this->lastNamespace)) { $this->aliases = $this->lastAliases; } } } /** * If this statement is a namespace, forget all the aliases we had. * * If it's a use statement, remember the alias for later. Otherwise, apply * remembered aliases to the code. * * @param Node $node */ public function leaveNode(Node $node) { if ($node instanceof Use_) { // Store a reference to every "use" statement, because we'll need // them in a bit. foreach ($node->uses as $use) { $alias = $use->alias ?: \end($use->name->parts); $this->aliases[\strtolower($alias)] = $use->name; } return NodeTraverser::REMOVE_NODE; } elseif ($node instanceof GroupUse) { // Expand every "use" statement in the group into a full, standalone // "use" and store 'em with the others. foreach ($node->uses as $use) { $alias = $use->alias ?: \end($use->name->parts); $this->aliases[\strtolower($alias)] = Name::concat($node->prefix, $use->name, [ 'startLine' => $node->prefix->getAttribute('startLine'), 'endLine' => $use->name->getAttribute('endLine'), ]); } return NodeTraverser::REMOVE_NODE; } elseif ($node instanceof Namespace_) { // Start fresh, since we're done with this namespace. $this->lastNamespace = $node->name; $this->lastAliases = $this->aliases; $this->aliases = []; } else { foreach ($node as $name => $subNode) { if ($subNode instanceof Name) { // Implicitly thunk all aliases. if ($replacement = $this->findAlias($subNode)) { $node->$name = $replacement; } } } return $node; } } /** * Find class/namespace aliases. * * @param Name $name * * @return FullyQualifiedName|null */ private function findAlias(Name $name) { $that = \strtolower($name); foreach ($this->aliases as $alias => $prefix) { if ($that === $alias) { return new FullyQualifiedName($prefix->toString()); } elseif (\substr($that, 0, \strlen($alias) + 1) === $alias . '\\') { return new FullyQualifiedName($prefix->toString() . \substr($name, \strlen($alias))); } } } }