public function key() { if ($this->_currentGen) { return $this->_currentGen->key(); } return key($this->_records); }
/** * @param \Generator $generator * @param string $prefix */ public function __construct(\Generator $generator, string $prefix) { $yielded = $generator->current(); $prefix .= \sprintf("; %s yielded at key %s", \is_object($yielded) ? \get_class($yielded) : \gettype($yielded), $generator->key()); if (!$generator->valid()) { parent::__construct($prefix); return; } $reflGen = new \ReflectionGenerator($generator); $exeGen = $reflGen->getExecutingGenerator(); if ($isSubgenerator = $exeGen !== $generator) { $reflGen = new \ReflectionGenerator($exeGen); } parent::__construct(\sprintf("%s on line %s in %s", $prefix, $reflGen->getExecutingLine(), $reflGen->getExecutingFile())); }
/** * Return the key of the current element * @see Iterator::key * @link http://php.net/manual/en/iterator.key.php * @return mixed scalar on success, or null on failure. */ public function key() { return $this->generator->key(); }
protected function hasTokens() { return $this->_tokens->key() !== null; }
public function key() { if (!$this->generator) { $this->rewind(); } return $this->generator->key(); }
/** * Get current key * * @return mixed */ public function key() { return $this->generator ? $this->generator->key() : $this->index++; }
/** * Return current key. * @return mixed */ public function key() { $this->validateValidity(); return $this->g->key(); }