private function indirectReference() {
    if ($this->currentType === '$' && !$this->isLookAhead('{')) {
      $node = new VariableVariableNode();
      $this->mustMatch('$', $node);
      $node->addChild($this->indirectReference(), 'variable');
      return $node;
    }
    return $this->referenceVariable();
  }