Example #1
0
 private function endString()
 {
     $popped = array_pop($this->stack);
     if ($popped === self::STACK_KEY) {
         $this->listener->key($this->buffer);
         $this->state = self::STATE_END_KEY;
     } elseif ($popped === self::STACK_STRING) {
         $this->listener->value($this->buffer);
         $this->state = self::STATE_AFTER_VALUE;
     } else {
         throw new ParsingError($this->lineNumber, $this->charNumber, "Unexpected end of string.");
     }
     $this->buffer = '';
 }