Submit
Path:
~
/
/
proc
/
self
/
root
/
opt
/
psa
/
admin
/
plib
/
modules
/
monitoring
/
vendor
/
nxp
/
math-executor
/
src
/
NXP
/
Classes
/
File Content:
Operator.php
<?php namespace PleskMonitoring\NXP\Classes; use PleskMonitoring\NXP\Exception\IncorrectExpressionException; use ReflectionFunction; class Operator { /** * @var callable(\SplStack) */ public $function; public int $places = 0; /** * Operator constructor. */ public function __construct(public string $operator, public bool $isRightAssoc, public int $priority, callable $function) { $this->function = $function; $reflection = new ReflectionFunction($function); $this->places = $reflection->getNumberOfParameters(); } /** * @param array<Token> $stack * * @throws IncorrectExpressionException */ public function execute(array &$stack) : Token { if (\count($stack) < $this->places) { throw new IncorrectExpressionException(); } $args = []; for ($i = 0; $i < $this->places; $i++) { \array_unshift($args, \array_pop($stack)->value); } $result = \call_user_func_array($this->function, $args); return new Token(Token::Literal, $result); } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
Calculator.php
2971 bytes
0644
CustomFunction.php
1702 bytes
0644
Operator.php
1122 bytes
0644
Token.php
670 bytes
0644
Tokenizer.php
13693 bytes
0644
N4ST4R_ID | Naxtarrr