Lines Matching refs:stream

43         $stream = $this->tokenizer->tokenize($reader);
45 return $this->parseSelectorList($stream);
95 private function parseSelectorList(TokenStream $stream): array argument
97 $stream->skipWhitespace();
101 $selectors[] = $this->parserSelectorNode($stream);
103 if ($stream->getPeek()->isDelimiter([','])) {
104 $stream->getNext();
105 $stream->skipWhitespace();
114 private function parserSelectorNode(TokenStream $stream): Node\SelectorNode argument
116 [$result, $pseudoElement] = $this->parseSimpleSelector($stream);
119 $stream->skipWhitespace();
120 $peek = $stream->getPeek();
131 $combinator = $stream->getNext()->getValue();
132 $stream->skipWhitespace();
137 [$nextSelector, $pseudoElement] = $this->parseSimpleSelector($stream);
149 private function parseSimpleSelector(TokenStream $stream, bool $insideNegation = false): array argument
151 $stream->skipWhitespace();
153 $selectorStart = \count($stream->getUsed());
154 $result = $this->parseElementNode($stream);
158 $peek = $stream->getPeek();
172 $result = new Node\HashNode($result, $stream->getNext()->getValue());
174 $stream->getNext();
175 $result = new Node\ClassNode($result, $stream->getNextIdentifier());
177 $stream->getNext();
178 $result = $this->parseAttributeNode($result, $stream);
180 $stream->getNext();
182 if ($stream->getPeek()->isDelimiter([':'])) {
183 $stream->getNext();
184 $pseudoElement = $stream->getNextIdentifier();
189 $identifier = $stream->getNextIdentifier();
198 if (!$stream->getPeek()->isDelimiter(['('])) {
204 $stream->getNext();
205 $stream->skipWhitespace();
212 [$argument, $argumentPseudoElement] = $this->parseSimpleSelector($stream, true);
213 $next = $stream->getNext();
229 $stream->skipWhitespace();
230 $next = $stream->getNext();
256 if (\count($stream->getUsed()) === $selectorStart) {
257 throw SyntaxErrorException::unexpectedToken('selector', $stream->getPeek());
263 private function parseElementNode(TokenStream $stream): Node\ElementNode argument
265 $peek = $stream->getPeek();
269 $namespace = $stream->getNext()->getValue();
271 $stream->getNext();
275 if ($stream->getPeek()->isDelimiter(['|'])) {
276 $stream->getNext();
277 $element = $stream->getNextIdentifierOrStar();
289 …private function parseAttributeNode(Node\NodeInterface $selector, TokenStream $stream): Node\Attri… argument
291 $stream->skipWhitespace();
292 $attribute = $stream->getNextIdentifierOrStar();
294 if (null === $attribute && !$stream->getPeek()->isDelimiter(['|'])) {
295 throw SyntaxErrorException::unexpectedToken('"|"', $stream->getPeek());
298 if ($stream->getPeek()->isDelimiter(['|'])) {
299 $stream->getNext();
301 if ($stream->getPeek()->isDelimiter(['='])) {
303 $stream->getNext();
307 $attribute = $stream->getNextIdentifier();
315 $stream->skipWhitespace();
316 $next = $stream->getNext();
323 && $stream->getPeek()->isDelimiter(['='])
326 $stream->getNext();
332 $stream->skipWhitespace();
333 $value = $stream->getNext();
344 $stream->skipWhitespace();
345 $next = $stream->getNext();