Skip to content

Commit e930f4b

Browse files
committed
Allow function import in the current namespace using use
1 parent 793a5f1 commit e930f4b

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

lib/Boris/ShallowParser.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,17 @@ private function _scanChar($result)
217217

218218
private function _scanUse($result)
219219
{
220-
if (preg_match("/^use (.+?);/", $result->buffer, $use)) {
220+
if (preg_match("/^use function (.+?);/", $result->buffer, $use)) {
221+
$result->buffer = substr($result->buffer, strlen($use[0]));
222+
if (strpos($use[0], ' as ') !== false) {
223+
list($function, $alias) = explode(' as ', $use[1]);
224+
} else {
225+
$function = $use[1];
226+
$alias = substr($use[1], strrpos($use[1], '\\') + 1);
227+
}
228+
$result->statements[] = sprintf("function %s() { return call_user_func_array('%s', func_get_args()); };", $alias, $function);
229+
return true;
230+
} else if (preg_match("/^use (.+?);/", $result->buffer, $use)) {
221231
$result->buffer = substr($result->buffer, strlen($use[0]));
222232
if (strpos($use[0], ' as ') !== false) {
223233
list($class, $alias) = explode(' as ', $use[1]);

0 commit comments

Comments
 (0)