Called by the parser to do the preprocessing and filtering for all the extensions. Returns a :class:`~jinja2.lexer.TokenStream`.
(
self,
source: str,
name: t.Optional[str],
filename: t.Optional[str] = None,
state: t.Optional[str] = None,
)
| 654 | ) |
| 655 | |
| 656 | def _tokenize( |
| 657 | self, |
| 658 | source: str, |
| 659 | name: t.Optional[str], |
| 660 | filename: t.Optional[str] = None, |
| 661 | state: t.Optional[str] = None, |
| 662 | ) -> TokenStream: |
| 663 | """Called by the parser to do the preprocessing and filtering |
| 664 | for all the extensions. Returns a :class:`~jinja2.lexer.TokenStream`. |
| 665 | """ |
| 666 | source = self.preprocess(source, name, filename) |
| 667 | stream = self.lexer.tokenize(source, name, filename, state) |
| 668 | |
| 669 | for ext in self.iter_extensions(): |
| 670 | stream = ext.filter_stream(stream) # type: ignore |
| 671 | |
| 672 | if not isinstance(stream, TokenStream): |
| 673 | stream = TokenStream(stream, name, filename) # type: ignore |
| 674 | |
| 675 | return stream |
| 676 | |
| 677 | def _generate( |
| 678 | self, |
no test coverage detected