@@ -162,25 +162,25 @@ pub trait Visitor {
162162 true
163163 }
164164
165- fn visit_literal_array ( & mut self , _: & ArrayLiteral ) -> bool {
165+ fn visit_literal_array ( & mut self , _: & ArrayLiteral , _ : Span ) -> bool {
166166 true
167167 }
168168
169- fn visit_literal_slice ( & mut self , _: & ArrayLiteral ) -> bool {
169+ fn visit_literal_slice ( & mut self , _: & ArrayLiteral , _ : Span ) -> bool {
170170 true
171171 }
172172
173- fn visit_literal_bool ( & mut self , _: bool ) { }
173+ fn visit_literal_bool ( & mut self , _: bool , _ : Span ) { }
174174
175- fn visit_literal_integer ( & mut self , _value : FieldElement , _negative : bool ) { }
175+ fn visit_literal_integer ( & mut self , _value : FieldElement , _negative : bool , _ : Span ) { }
176176
177- fn visit_literal_str ( & mut self , _: & str ) { }
177+ fn visit_literal_str ( & mut self , _: & str , _ : Span ) { }
178178
179- fn visit_literal_raw_str ( & mut self , _: & str , _: u8 ) { }
179+ fn visit_literal_raw_str ( & mut self , _: & str , _: u8 , _ : Span ) { }
180180
181- fn visit_literal_fmt_str ( & mut self , _: & [ FmtStrFragment ] , _length : u32 ) { }
181+ fn visit_literal_fmt_str ( & mut self , _: & [ FmtStrFragment ] , _length : u32 , _ : Span ) { }
182182
183- fn visit_literal_unit ( & mut self ) { }
183+ fn visit_literal_unit ( & mut self , _ : Span ) { }
184184
185185 fn visit_block_expression ( & mut self , _: & BlockExpression , _: Option < Span > ) -> bool {
186186 true
@@ -262,18 +262,19 @@ pub trait Visitor {
262262 true
263263 }
264264
265- fn visit_array_literal ( & mut self , _: & ArrayLiteral ) -> bool {
265+ fn visit_array_literal ( & mut self , _: & ArrayLiteral , _ : Span ) -> bool {
266266 true
267267 }
268268
269- fn visit_array_literal_standard ( & mut self , _: & [ Expression ] ) -> bool {
269+ fn visit_array_literal_standard ( & mut self , _: & [ Expression ] , _ : Span ) -> bool {
270270 true
271271 }
272272
273273 fn visit_array_literal_repeated (
274274 & mut self ,
275275 _repeated_element : & Expression ,
276276 _length : & Expression ,
277+ _: Span ,
277278 ) -> bool {
278279 true
279280 }
@@ -927,28 +928,32 @@ impl Expression {
927928impl Literal {
928929 pub fn accept ( & self , span : Span , visitor : & mut impl Visitor ) {
929930 if visitor. visit_literal ( self , span) {
930- self . accept_children ( visitor) ;
931+ self . accept_children ( span , visitor) ;
931932 }
932933 }
933934
934- pub fn accept_children ( & self , visitor : & mut impl Visitor ) {
935+ pub fn accept_children ( & self , span : Span , visitor : & mut impl Visitor ) {
935936 match self {
936937 Literal :: Array ( array_literal) => {
937- if visitor. visit_literal_array ( array_literal) {
938- array_literal. accept ( visitor) ;
938+ if visitor. visit_literal_array ( array_literal, span ) {
939+ array_literal. accept ( span , visitor) ;
939940 }
940941 }
941942 Literal :: Slice ( array_literal) => {
942- if visitor. visit_literal_slice ( array_literal) {
943- array_literal. accept ( visitor) ;
943+ if visitor. visit_literal_slice ( array_literal, span ) {
944+ array_literal. accept ( span , visitor) ;
944945 }
945946 }
946- Literal :: Bool ( value) => visitor. visit_literal_bool ( * value) ,
947- Literal :: Integer ( value, negative) => visitor. visit_literal_integer ( * value, * negative) ,
948- Literal :: Str ( str) => visitor. visit_literal_str ( str) ,
949- Literal :: RawStr ( str, length) => visitor. visit_literal_raw_str ( str, * length) ,
950- Literal :: FmtStr ( fragments, length) => visitor. visit_literal_fmt_str ( fragments, * length) ,
951- Literal :: Unit => visitor. visit_literal_unit ( ) ,
947+ Literal :: Bool ( value) => visitor. visit_literal_bool ( * value, span) ,
948+ Literal :: Integer ( value, negative) => {
949+ visitor. visit_literal_integer ( * value, * negative, span) ;
950+ }
951+ Literal :: Str ( str) => visitor. visit_literal_str ( str, span) ,
952+ Literal :: RawStr ( str, length) => visitor. visit_literal_raw_str ( str, * length, span) ,
953+ Literal :: FmtStr ( fragments, length) => {
954+ visitor. visit_literal_fmt_str ( fragments, * length, span) ;
955+ }
956+ Literal :: Unit => visitor. visit_literal_unit ( span) ,
952957 }
953958 }
954959}
@@ -1120,21 +1125,21 @@ impl Lambda {
11201125}
11211126
11221127impl ArrayLiteral {
1123- pub fn accept ( & self , visitor : & mut impl Visitor ) {
1124- if visitor. visit_array_literal ( self ) {
1125- self . accept_children ( visitor) ;
1128+ pub fn accept ( & self , span : Span , visitor : & mut impl Visitor ) {
1129+ if visitor. visit_array_literal ( self , span ) {
1130+ self . accept_children ( span , visitor) ;
11261131 }
11271132 }
11281133
1129- pub fn accept_children ( & self , visitor : & mut impl Visitor ) {
1134+ pub fn accept_children ( & self , span : Span , visitor : & mut impl Visitor ) {
11301135 match self {
11311136 ArrayLiteral :: Standard ( expressions) => {
1132- if visitor. visit_array_literal_standard ( expressions) {
1137+ if visitor. visit_array_literal_standard ( expressions, span ) {
11331138 visit_expressions ( expressions, visitor) ;
11341139 }
11351140 }
11361141 ArrayLiteral :: Repeated { repeated_element, length } => {
1137- if visitor. visit_array_literal_repeated ( repeated_element, length) {
1142+ if visitor. visit_array_literal_repeated ( repeated_element, length, span ) {
11381143 repeated_element. accept ( visitor) ;
11391144 length. accept ( visitor) ;
11401145 }
0 commit comments