public function visitSingleton(SingletonBinding $singleton)
 {
     if ($singleton->getIndex() !== null) {
         //already visited
         return;
     }
     $singleton->setIndex($this->count++);
 }
 public function visitSingleton(SingletonBinding $singleton)
 {
     $this->writer->write('$s[', $singleton->getIndex(), '] ?: $s[', $singleton->getIndex(), '] = ');
     parent::visitSingleton($singleton);
 }
 public function visitSingleton(SingletonBinding $singleton)
 {
     $singleton->getDelegate()->accept($this);
 }