*/ class CallTimePassByReferencePass extends CodeCleanerPass { /** * Validate of use call-time pass-by-reference. * * @throws RuntimeException if the user used call-time pass-by-reference in PHP >= 5.4.0 * * @param Node $node */ public function enterNode(Node $node) { if (version_compare(PHP_VERSION, '5.4', '<')) { return; } if (!$node instanceof FunctionCall && !$node instanceof MethodCall && !$node instanceof StaticCall) { return; } foreach ($node->args as $arg) { if ($arg->byRef) { throw new FatalErrorException('Call-time pass-by-reference has been removed'); } } } }