11//! Types representing an Abstract Syntax Tree for the Technique language
22
3+ use crate :: language:: multiline:: Multiline ;
4+ use crate :: language:: quantity:: Quantity ;
35use crate :: regex:: * ;
46
57/// Byte range within the original source. `length` excludes trailing whitespace.
@@ -523,7 +525,7 @@ pub enum Expression<'i> {
523525 String ( Vec < Piece < ' i > > , Span ) ,
524526 Response ( & ' i str , Span ) ,
525527 Number ( Numeric < ' i > , Span ) ,
526- Multiline ( Option < & ' i str > , Vec < & ' i str > , Span ) ,
528+ Multiline ( Multiline < ' i > , Span ) ,
527529 Repeat ( Box < Expression < ' i > > , Span ) ,
528530 Foreach ( Vec < Identifier < ' i > > , Box < Expression < ' i > > , Span ) ,
529531 Within ( Box < Expression < ' i > > , Span ) ,
@@ -547,9 +549,7 @@ impl PartialEq for Expression<'_> {
547549 ( Expression :: String ( a, _) , Expression :: String ( b, _) ) => a == b,
548550 ( Expression :: Response ( a, _) , Expression :: Response ( b, _) ) => a == b,
549551 ( Expression :: Number ( a, _) , Expression :: Number ( b, _) ) => a == b,
550- ( Expression :: Multiline ( a1, a2, _) , Expression :: Multiline ( b1, b2, _) ) => {
551- a1 == b1 && a2 == b2
552- }
552+ ( Expression :: Multiline ( a, _) , Expression :: Multiline ( b, _) ) => a == b,
553553 ( Expression :: Repeat ( a, _) , Expression :: Repeat ( b, _) ) => a == b,
554554 ( Expression :: Foreach ( a1, a2, _) , Expression :: Foreach ( b1, b2, _) ) => {
555555 a1 == b1 && a2 == b2
@@ -579,8 +579,6 @@ pub enum Numeric<'i> {
579579 Scientific ( Quantity < ' i > ) ,
580580}
581581
582- pub use crate :: language:: quantity:: Quantity ;
583-
584582// the validate functions all need to have start and end anchors, which seems
585583// like it should be abstracted away.
586584
0 commit comments