X7ROOT File Manager
Current Path:
/opt/cpanel/ea-wappspector/vendor/nikic/php-parser/lib/PhpParser/Node
opt
/
cpanel
/
ea-wappspector
/
vendor
/
nikic
/
php-parser
/
lib
/
PhpParser
/
Node
/
??
..
??
Arg.php
(1.27 KB)
??
ArrayItem.php
(1.18 KB)
??
Attribute.php
(820 B)
??
AttributeGroup.php
(647 B)
??
ClosureUse.php
(973 B)
??
ComplexType.php
(323 B)
??
Const_.php
(971 B)
??
DeclareItem.php
(992 B)
??
Expr
??
Expr.php
(133 B)
??
FunctionLike.php
(731 B)
??
Identifier.php
(2.07 KB)
??
InterpolatedStringPart.php
(850 B)
??
IntersectionType.php
(665 B)
??
MatchArm.php
(652 B)
??
Name
??
Name.php
(8.47 KB)
??
NullableType.php
(679 B)
??
Param.php
(3.7 KB)
??
PropertyHook.php
(3.35 KB)
??
PropertyItem.php
(1.05 KB)
??
Scalar
??
Scalar.php
(98 B)
??
StaticVar.php
(999 B)
??
Stmt
??
Stmt.php
(133 B)
??
UnionType.php
(677 B)
??
UseItem.php
(1.64 KB)
??
VarLikeIdentifier.php
(502 B)
??
VariadicPlaceholder.php
(653 B)
Editing: PropertyHook.php
<?php declare(strict_types=1); namespace PhpParser\Node; use PhpParser\Modifiers; use PhpParser\Node\Expr\Assign; use PhpParser\Node\Expr\PropertyFetch; use PhpParser\Node\Expr\Variable; use PhpParser\Node\Stmt\Expression; use PhpParser\Node\Stmt\Return_; use PhpParser\NodeAbstract; class PropertyHook extends NodeAbstract implements FunctionLike { /** @var AttributeGroup[] PHP attribute groups */ public array $attrGroups; /** @var int Modifiers */ public int $flags; /** @var bool Whether hook returns by reference */ public bool $byRef; /** @var Identifier Hook name */ public Identifier $name; /** @var Param[] Parameters */ public array $params; /** @var null|Expr|Stmt[] Hook body */ public $body; /** * Constructs a property hook node. * * @param string|Identifier $name Hook name * @param null|Expr|Stmt[] $body Hook body * @param array{ * flags?: int, * byRef?: bool, * params?: Param[], * attrGroups?: AttributeGroup[], * } $subNodes Array of the following optional subnodes: * 'flags => 0 : Flags * 'byRef' => false : Whether hook returns by reference * 'params' => array(): Parameters * 'attrGroups' => array(): PHP attribute groups * @param array<string, mixed> $attributes Additional attributes */ public function __construct($name, $body, array $subNodes = [], array $attributes = []) { $this->attributes = $attributes; $this->name = \is_string($name) ? new Identifier($name) : $name; $this->body = $body; $this->flags = $subNodes['flags'] ?? 0; $this->byRef = $subNodes['byRef'] ?? false; $this->params = $subNodes['params'] ?? []; $this->attrGroups = $subNodes['attrGroups'] ?? []; } public function returnsByRef(): bool { return $this->byRef; } public function getParams(): array { return $this->params; } public function getReturnType() { return null; } /** * Whether the property hook is final. */ public function isFinal(): bool { return (bool) ($this->flags & Modifiers::FINAL); } public function getStmts(): ?array { if ($this->body instanceof Expr) { $name = $this->name->toLowerString(); if ($name === 'get') { return [new Return_($this->body)]; } if ($name === 'set') { if (!$this->hasAttribute('propertyName')) { throw new \LogicException( 'Can only use getStmts() on a "set" hook if the "propertyName" attribute is set'); } $propName = $this->getAttribute('propertyName'); $prop = new PropertyFetch(new Variable('this'), (string) $propName); return [new Expression(new Assign($prop, $this->body))]; } throw new \LogicException('Unknown property hook "' . $name . '"'); } return $this->body; } public function getAttrGroups(): array { return $this->attrGroups; } public function getType(): string { return 'PropertyHook'; } public function getSubNodeNames(): array { return ['attrGroups', 'flags', 'byRef', 'name', 'params', 'body']; } }
Upload File
Create Folder