@@ -2,11 +2,15 @@ use thiserror::Error;
22
33use crate :: ast:: Ast ;
44use crate :: ast:: AstError ;
5+ use crate :: ast:: CommentNode ;
56use crate :: ast:: FilterName ;
67use crate :: ast:: Node ;
78use crate :: ast:: Span ;
89use crate :: ast:: TagName ;
10+ use crate :: ast:: TagNode ;
11+ use crate :: ast:: TextNode ;
912use crate :: ast:: VariableName ;
13+ use crate :: ast:: VariableNode ;
1014use crate :: db:: Db as TemplateDb ;
1115use crate :: lexer:: LexerError ;
1216use crate :: tokens:: Token ;
@@ -95,10 +99,10 @@ impl<'db> Parser<'db> {
9599
96100 let token = self . peek_previous ( ) ?;
97101
98- Ok ( Node :: Comment {
102+ Ok ( Node :: Comment ( CommentNode {
99103 content : token. content ( ) ,
100104 span : Span :: from_token ( self . db , & token) ,
101- } )
105+ } ) )
102106 }
103107
104108 pub fn parse_django_block ( & mut self ) -> Result < Node < ' db > , ParserError > {
@@ -114,7 +118,7 @@ impl<'db> Parser<'db> {
114118 let bits = args. into_iter ( ) . skip ( 1 ) . collect ( ) ;
115119 let span = Span :: from_token ( self . db , & token) ;
116120
117- Ok ( Node :: Tag { name, bits, span } )
121+ Ok ( Node :: Tag ( TagNode { name, bits, span } ) )
118122 }
119123
120124 fn parse_django_variable ( & mut self ) -> Result < Node < ' db > , ParserError > {
@@ -135,7 +139,7 @@ impl<'db> Parser<'db> {
135139 . collect ( ) ;
136140 let span = Span :: from_token ( self . db , & token) ;
137141
138- Ok ( Node :: Variable { var, filters, span } )
142+ Ok ( Node :: Variable ( VariableNode { var, filters, span } ) )
139143 }
140144
141145 fn parse_text ( & mut self ) -> Result < Node < ' db > , ParserError > {
@@ -173,7 +177,7 @@ impl<'db> Parser<'db> {
173177 let length = u32:: try_from ( content. len ( ) ) . expect ( "Content length should fit in u32" ) ;
174178 let span = Span :: new ( self . db , start + offset, length) ;
175179
176- Ok ( Node :: Text { content, span } )
180+ Ok ( Node :: Text ( TextNode { content, span } ) )
177181 }
178182
179183 fn peek ( & self ) -> Result < Token , ParserError > {
@@ -397,20 +401,20 @@ mod tests {
397401 impl TestNode {
398402 fn from_node ( node : & Node < ' _ > , db : & dyn crate :: db:: Db ) -> Self {
399403 match node {
400- Node :: Tag { name, bits, span } => TestNode :: Tag {
404+ Node :: Tag ( TagNode { name, bits, span } ) => TestNode :: Tag {
401405 name : name. text ( db) . to_string ( ) ,
402406 bits : bits. clone ( ) ,
403407 span : ( span. start ( db) , span. length ( db) ) ,
404408 } ,
405- Node :: Comment { content, span } => TestNode :: Comment {
409+ Node :: Comment ( CommentNode { content, span } ) => TestNode :: Comment {
406410 content : content. clone ( ) ,
407411 span : ( span. start ( db) , span. length ( db) ) ,
408412 } ,
409- Node :: Text { content, span } => TestNode :: Text {
413+ Node :: Text ( TextNode { content, span } ) => TestNode :: Text {
410414 content : content. clone ( ) ,
411415 span : ( span. start ( db) , span. length ( db) ) ,
412416 } ,
413- Node :: Variable { var, filters, span } => TestNode :: Variable {
417+ Node :: Variable ( VariableNode { var, filters, span } ) => TestNode :: Variable {
414418 var : var. text ( db) . to_string ( ) ,
415419 filters : filters. iter ( ) . map ( |f| f. text ( db) . to_string ( ) ) . collect ( ) ,
416420 span : ( span. start ( db) , span. length ( db) ) ,
0 commit comments