X7ROOT File Manager
Current Path:
/home/prisjneg/public_html/vendor/nikic/php-parser/lib/PhpParser
home
/
prisjneg
/
public_html
/
vendor
/
nikic
/
php-parser
/
lib
/
PhpParser
/
📁
..
📁
Builder
📄
Builder.php
(202 B)
📄
BuilderFactory.php
(10.3 KB)
📄
BuilderHelpers.php
(9.73 KB)
📁
Comment
📄
Comment.php
(6.75 KB)
📄
ConstExprEvaluationException.php
(112 B)
📄
ConstExprEvaluator.php
(9.21 KB)
📄
Error.php
(4.84 KB)
📁
ErrorHandler
📄
ErrorHandler.php
(300 B)
📁
Internal
📄
JsonDecoder.php
(3.44 KB)
📁
Lexer
📄
Lexer.php
(4.26 KB)
📄
Modifiers.php
(2.71 KB)
📄
NameContext.php
(9.82 KB)
📁
Node
📄
Node.php
(4.03 KB)
📄
NodeAbstract.php
(5.24 KB)
📄
NodeDumper.php
(10.24 KB)
📄
NodeFinder.php
(2.55 KB)
📄
NodeTraverser.php
(10.09 KB)
📄
NodeTraverserInterface.php
(598 B)
📁
NodeVisitor
📄
NodeVisitor.php
(4.08 KB)
📄
NodeVisitorAbstract.php
(447 B)
📁
Parser
📄
Parser.php
(765 B)
📄
ParserAbstract.php
(50.13 KB)
📄
ParserFactory.php
(1.41 KB)
📄
PhpVersion.php
(4.62 KB)
📁
PrettyPrinter
📄
PrettyPrinter.php
(1.66 KB)
📄
PrettyPrinterAbstract.php
(70.38 KB)
📄
Token.php
(487 B)
📄
compatibility_tokens.php
(2.39 KB)
Editing: Modifiers.php
<?php declare(strict_types=1); namespace PhpParser; /** * Modifiers used (as a bit mask) by various flags subnodes, for example on classes, functions, * properties and constants. */ final class Modifiers { public const PUBLIC = 1; public const PROTECTED = 2; public const PRIVATE = 4; public const STATIC = 8; public const ABSTRACT = 16; public const FINAL = 32; public const READONLY = 64; public const PUBLIC_SET = 128; public const PROTECTED_SET = 256; public const PRIVATE_SET = 512; public const VISIBILITY_MASK = self::PUBLIC | self::PROTECTED | self::PRIVATE; public const VISIBILITY_SET_MASK = self::PUBLIC_SET | self::PROTECTED_SET | self::PRIVATE_SET; private const TO_STRING_MAP = [ self::PUBLIC => 'public', self::PROTECTED => 'protected', self::PRIVATE => 'private', self::STATIC => 'static', self::ABSTRACT => 'abstract', self::FINAL => 'final', self::READONLY => 'readonly', self::PUBLIC_SET => 'public(set)', self::PROTECTED_SET => 'protected(set)', self::PRIVATE_SET => 'private(set)', ]; public static function toString(int $modifier): string { if (!isset(self::TO_STRING_MAP[$modifier])) { throw new \InvalidArgumentException("Unknown modifier $modifier"); } return self::TO_STRING_MAP[$modifier]; } private static function isValidModifier(int $modifier): bool { $isPow2 = ($modifier & ($modifier - 1)) == 0 && $modifier != 0; return $isPow2 && $modifier <= self::PRIVATE_SET; } /** * @internal */ public static function verifyClassModifier(int $a, int $b): void { assert(self::isValidModifier($b)); if (($a & $b) != 0) { throw new Error( 'Multiple ' . self::toString($b) . ' modifiers are not allowed'); } if ($a & 48 && $b & 48) { throw new Error('Cannot use the final modifier on an abstract class'); } } /** * @internal */ public static function verifyModifier(int $a, int $b): void { assert(self::isValidModifier($b)); if (($a & Modifiers::VISIBILITY_MASK && $b & Modifiers::VISIBILITY_MASK) || ($a & Modifiers::VISIBILITY_SET_MASK && $b & Modifiers::VISIBILITY_SET_MASK) ) { throw new Error('Multiple access type modifiers are not allowed'); } if (($a & $b) != 0) { throw new Error( 'Multiple ' . self::toString($b) . ' modifiers are not allowed'); } if ($a & 48 && $b & 48) { throw new Error('Cannot use the final modifier on an abstract class member'); } } }
Upload File
Create Folder