protected function propertyName(&$out)
{
$parts = [];
$oldWhite = $this->eatWhiteDefault;
$this->eatWhiteDefault = false;
for (;;) {
if ($this->interpolation($inter)) {
$parts[] = $inter;
continue;
}
if ($this->keyword($text)) {
$parts[] = $text;
continue;
}
if (count($parts) === 0 && $this->match('[:.#]', $m, false)) {
// css hacks
$parts[] = $m[0];
continue;
}
break;
}
$this->eatWhiteDefault = $oldWhite;
if (count($parts) === 0) {
return false;
}
// match comment hack
if (preg_match(static::$whitePattern, $this->buffer, $m, null, $this->count)) {
if (!empty($m[0])) {
$parts[] = $m[0];
$this->count += strlen($m[0]);
}
}
$this->whitespace();
// get any extra whitespace
$out = [Type::T_STRING, '', $parts];
return true;
}