private function parseTraitAdaptationAliasStatement(array $reference)
{
$stmt = $this->builder->buildAstTraitAdaptationAlias($reference[0]);
if (2 === count($reference)) {
$stmt->addChild($reference[1]);
}
$this->consumeToken(Tokens::T_AS);
$this->consumeComments();
switch ($this->tokenizer->peek()) {
case Tokens::T_PUBLIC:
$stmt->setNewModifier(State::IS_PUBLIC);
$this->consumeToken(Tokens::T_PUBLIC);
$this->consumeComments();
break;
case Tokens::T_PROTECTED:
$stmt->setNewModifier(State::IS_PROTECTED);
$this->consumeToken(Tokens::T_PROTECTED);
$this->consumeComments();
break;
case Tokens::T_PRIVATE:
$stmt->setNewModifier(State::IS_PRIVATE);
$this->consumeToken(Tokens::T_PRIVATE);
$this->consumeComments();
break;
}
if (Tokens::T_SEMICOLON !== $this->tokenizer->peek()) {
$stmt->setNewName($this->parseMethodName());
}
return $stmt;
}