private function parseUseAsImport($stack)
{
$use = '';
$alias = '';
$mode = 'use';
$group = '';
$ignore = false;
foreach ($stack as $tok) {
$current = $tok;
switch ($current[0]) {
case T_CONST:
case T_FUNCTION:
$ignore = true;
continue;
case '{':
$group = $use;
continue;
case ';':
case ',':
if (!$ignore) {
if ($alias == '') {
$nss = strrpos($use, '\\');
if ($nss !== FALSE) {
$alias = substr($use, $nss + 1);
} else {
$alias = $use;
}
}
if ($this->caseInsensitive) {
$alias = strtolower($alias);
}
$this->aliases[$use] = $alias;
}
$alias = '';
$use = $group;
$mode = 'use';
$ignore = false;
continue;
case T_NS_SEPARATOR:
case T_STRING:
${$mode} .= $current[1];
continue;
case T_AS:
$mode = 'alias';
continue;
}
}
}