aboutsummaryrefslogtreecommitdiff
path: root/src/NXP/Classes
diff options
context:
space:
mode:
authorJavier Marín <javier@marinros.com>2022-05-09 21:13:30 +0300
committerGitHub <noreply@github.com>2022-05-09 21:13:30 +0300
commit645f1dfbc6310185b73852c5008ef321b66a0f18 (patch)
tree2efdfcf4aabeb3c4bc75a80aac7e54dbe68aebe5 /src/NXP/Classes
parentb7b46bfc476ea0d22e0e92144f68aa81d390fff0 (diff)
Two more tests + some code refactoring (#104)
* test: add testNullReturnType and testUnsupportedOperands * refactor: fix PhpDoc comments and use PHP 7.4 arrow functions * refactor: fix PHP-CS-Fixer issues * test: run testUnsupportedOperands() only on PHP8+ Co-authored-by: Javier Marín <contacto@ideatic.net>
Diffstat (limited to 'src/NXP/Classes')
-rw-r--r--src/NXP/Classes/Calculator.php15
-rw-r--r--src/NXP/Classes/CustomFunction.php2
-rw-r--r--src/NXP/Classes/Token.php2
-rw-r--r--src/NXP/Classes/Tokenizer.php2
4 files changed, 18 insertions, 3 deletions
diff --git a/src/NXP/Classes/Calculator.php b/src/NXP/Classes/Calculator.php
index 2bb5b4d..10adc24 100644
--- a/src/NXP/Classes/Calculator.php
+++ b/src/NXP/Classes/Calculator.php
@@ -20,10 +20,18 @@ use NXP\Exception\UnknownVariableException;
*/
class Calculator
{
+ /** @var array<string, CustomFunction> */
private array $functions = [];
+ /** @var array<Operator> */
private array $operators = [];
+ /**
+ * @todo PHP8: Use constructor property promotion -> public function __construct(private array $functions, private array $operators)
+ *
+ * @param array<string, CustomFunction> $functions
+ * @param array<Operator> $operators
+ */
public function __construct(array $functions, array $operators)
{
$this->functions = $functions;
@@ -32,10 +40,13 @@ class Calculator
/**
* Calculate array of tokens in reverse polish notation
- * @param Token[] $tokens
+ *
+ * @param Token[] $tokens
* @param array<string, float|string> $variables
- * @throws IncorrectExpressionException
+ *
* @throws UnknownVariableException
+ * @throws IncorrectExpressionException
+ * @return int|float|string|null
*/
public function calculate(array $tokens, array $variables, ?callable $onVarNotFound = null)
{
diff --git a/src/NXP/Classes/CustomFunction.php b/src/NXP/Classes/CustomFunction.php
index bc0f4e7..843cf82 100644
--- a/src/NXP/Classes/CustomFunction.php
+++ b/src/NXP/Classes/CustomFunction.php
@@ -19,7 +19,7 @@ class CustomFunction
/**
* CustomFunction constructor.
- * @param int $places
+ *
* @throws ReflectionException
* @throws IncorrectNumberOfFunctionParametersException
*/
diff --git a/src/NXP/Classes/Token.php b/src/NXP/Classes/Token.php
index b2a0a64..41e4cba 100644
--- a/src/NXP/Classes/Token.php
+++ b/src/NXP/Classes/Token.php
@@ -24,12 +24,14 @@ class Token
public string $type = self::Literal;
+
public $value;
public ?string $name;
/**
* Token constructor.
+ *
*/
public function __construct(string $type, $value, ?string $name = null)
{
diff --git a/src/NXP/Classes/Tokenizer.php b/src/NXP/Classes/Tokenizer.php
index 1bd6d6d..32404a2 100644
--- a/src/NXP/Classes/Tokenizer.php
+++ b/src/NXP/Classes/Tokenizer.php
@@ -20,6 +20,7 @@ use SplStack;
*/
class Tokenizer
{
+ /** @var array<Token> */
public array $tokens = [];
private string $input = '';
@@ -30,6 +31,7 @@ class Tokenizer
private bool $allowNegative = true;
+ /** @var array<Operator> */
private array $operators = [];
private bool $inSingleQuotedString = false;