From 5bb2b458b33da93e84785c831fe726cc522b6e75 Mon Sep 17 00:00:00 2001 From: Pekka Laiho Date: Thu, 3 Dec 2020 20:23:26 +0700 Subject: [PATCH] Optimization: skip one function call in CoreFunc::call --- src/CoreFunc.php | 2 +- src/Func.php | 5 +---- src/UserFunc.php | 5 +++++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/CoreFunc.php b/src/CoreFunc.php index 9617178..9f5a30b 100644 --- a/src/CoreFunc.php +++ b/src/CoreFunc.php @@ -22,7 +22,7 @@ class CoreFunc extends Func { $this->validateArgs(count($args)); - return parent::call($args); + return ($this->closure)(...$args); } private function validateArgs(int $count) diff --git a/src/Func.php b/src/Func.php index 21662ea..e8e9fe8 100644 --- a/src/Func.php +++ b/src/Func.php @@ -24,8 +24,5 @@ abstract class Func return $this->doc; } - public function call(array $args) - { - return ($this->closure)(...$args); - } + abstract public function call(array $args); } diff --git a/src/UserFunc.php b/src/UserFunc.php index 2780e74..59e57c4 100644 --- a/src/UserFunc.php +++ b/src/UserFunc.php @@ -33,4 +33,9 @@ class UserFunc extends Func return $newEnv; } + + public function call(array $args) + { + return ($this->closure)(...$args); + } }