diff --git a/crates/stef-derive/src/debug.rs b/crates/stef-derive/src/debug.rs new file mode 100644 index 0000000..f8c3d10 --- /dev/null +++ b/crates/stef-derive/src/debug.rs @@ -0,0 +1,130 @@ +use proc_macro2::{Literal, Span, TokenStream}; +use quote::quote; +use syn::{spanned::Spanned, Data, DeriveInput, Field, Fields, Ident, Type, TypePath}; + +macro_rules! bail { + ($tokens:expr, $($arg:tt)*) => { + return Err(syn::Error::new($tokens.span(), format!($($arg)*))) + }; +} + +pub fn expand(derive: DeriveInput) -> syn::Result { + let ident = &derive.ident; + let generics = &derive.generics; + let name = Literal::string(&ident.to_string()); + + match derive.data { + Data::Struct(data) => { + let fields= expand_fields(name, &data.fields); + + Ok(quote! { + impl #generics ::core::fmt::Debug for #ident #generics { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self #fields + } + } + } + }) + } + Data::Enum(data) => { + let variants = data.variants.iter().map(|variant| { + let ident = &variant.ident; + let fields = expand_fields(Literal::string(&ident.to_string()), &variant.fields); + + quote! { + Self::#ident #fields + } + }); + + Ok(quote! { + impl #generics ::core::fmt::Debug for #ident #generics { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + #(#variants,)* + } + } + } + }) + } + Data::Union(_) => bail!(derive, "unions not supported"), + } +} + +fn expand_fields(name: Literal, fields: &Fields) -> TokenStream { + match fields { + Fields::Named(fields) => { + let names = fields.named.iter().map(|field| { + let ident = field.ident.as_ref().unwrap(); + if filter_span(&field.ty) { + quote! { #ident: _ } + } else { + quote! { #ident } + } + }); + + let fields = fields + .named + .iter() + .filter(|&field| !filter_span(&field.ty)) + .map(expand_named_field); + + quote! { + {#(#names,)*} => f.debug_struct(#name) + #(#fields)* + .finish() + } + } + Fields::Unnamed(fields) => { + let names = fields.unnamed.iter().enumerate().map(|(i, field)| { + if filter_span(&field.ty) { + quote! { _ } + } else { + let ident = Ident::new(&format!("n{i}"), Span::call_site()); + quote! { #ident } + } + }); + + let fields = fields + .unnamed + .iter() + .enumerate() + .filter(|(_, field)| !filter_span(&field.ty)) + .map(expand_unnamed_field); + + quote! { + (#(#names,)*) => f.debug_tuple(#name) + #(#fields)* + .finish() + } + } + Fields::Unit => quote! { => f.write_str(#name) }, + } +} + +fn expand_named_field(field: &Field) -> TokenStream { + let ident = field.ident.as_ref().unwrap(); + let name = Literal::string(&ident.to_string()); + + quote! { + .field(#name, &#ident) + } +} + +fn expand_unnamed_field((i, _field): (usize, &Field)) -> TokenStream { + let ident = Ident::new(&format!("n{i}"), Span::call_site()); + + quote! { + .field(&#ident) + } +} + +fn filter_span(ty: &Type) -> bool { + let Type::Path(TypePath { path, .. }) = ty else { + return false; + }; + + path.segments + .last() + .map_or(false, |segment| segment.ident == "Span") +} diff --git a/crates/stef-derive/src/lib.rs b/crates/stef-derive/src/lib.rs index 108c0c2..b072556 100644 --- a/crates/stef-derive/src/lib.rs +++ b/crates/stef-derive/src/lib.rs @@ -10,6 +10,7 @@ use syn::{parse_macro_input, DeriveInput}; mod attributes; mod cause; mod error; +mod debug; #[proc_macro_derive(ParserError, attributes(err, rename))] pub fn parser_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream { @@ -30,3 +31,13 @@ pub fn parser_error_cause(input: proc_macro::TokenStream) -> proc_macro::TokenSt Err(e) => e.into_compile_error().into(), } } + +#[proc_macro_derive(Debug)] +pub fn debug(input: proc_macro::TokenStream) -> proc_macro::TokenStream { + let input = parse_macro_input!(input as DeriveInput); + + match debug::expand(input) { + Ok(expanded) => expanded.into(), + Err(e) => e.into_compile_error().into(), + } +} diff --git a/crates/stef-parser/src/lib.rs b/crates/stef-parser/src/lib.rs index ef61ae1..6baec25 100644 --- a/crates/stef-parser/src/lib.rs +++ b/crates/stef-parser/src/lib.rs @@ -24,6 +24,7 @@ use std::{ pub use miette::{Diagnostic, LabeledSpan}; use miette::{IntoDiagnostic, NamedSource, Result}; +use stef_derive::Debug; use winnow::Parser; use self::error::ParseSchemaError; diff --git a/crates/stef-parser/tests/snapshots/parser__parse@alias_basic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@alias_basic.stef.snap index 576bffc..d727a2f 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@alias_basic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@alias_basic.stef.snap @@ -18,29 +18,17 @@ Schema { [ CommentLine { value: "Sample type alias.", - span: Span { - start: 0, - end: 22, - }, }, ], ), name: Name { value: "Sample", - span: Span { - start: 28, - end: 34, - }, }, generics: Generics( [], ), target: Type { value: U32, - span: Span { - start: 37, - end: 40, - }, }, }, ), diff --git a/crates/stef-parser/tests/snapshots/parser__parse@attribute_multi.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@attribute_multi.stef.snap index f0445d6..f5bdc57 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@attribute_multi.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@attribute_multi.stef.snap @@ -30,10 +30,6 @@ Schema { value: Int( 1, ), - span: Span { - start: 17, - end: 18, - }, }, ), }, @@ -44,10 +40,6 @@ Schema { value: Int( 100, ), - span: Span { - start: 26, - end: 29, - }, }, ), }, @@ -58,10 +50,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 39, - end: 45, - }, }, generics: Generics( [], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@attribute_single.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@attribute_single.stef.snap index 740a7cc..8752071 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@attribute_single.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@attribute_single.stef.snap @@ -26,10 +26,6 @@ Schema { value: String( "don't use", ), - span: Span { - start: 15, - end: 26, - }, }, ), }, @@ -37,10 +33,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 35, - end: 41, - }, }, generics: Generics( [], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@attribute_unit.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@attribute_unit.stef.snap index 4ff7391..33b94cd 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@attribute_unit.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@attribute_unit.stef.snap @@ -27,10 +27,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 21, - end: 27, - }, }, generics: Generics( [], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@attributes.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@attributes.stef.snap index 15e616f..2000686 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@attributes.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@attributes.stef.snap @@ -26,10 +26,6 @@ Schema { value: String( "don't use", ), - span: Span { - start: 15, - end: 26, - }, }, ), }, @@ -52,10 +48,6 @@ Schema { value: Int( 100, ), - span: Span { - start: 69, - end: 72, - }, }, ), }, @@ -66,10 +58,6 @@ Schema { value: Int( 200, ), - span: Span { - start: 80, - end: 83, - }, }, ), }, @@ -87,10 +75,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 111, - end: 117, - }, }, generics: Generics( [], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@attributes_min_ws.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@attributes_min_ws.stef.snap index 98519fd..62bb854 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@attributes_min_ws.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@attributes_min_ws.stef.snap @@ -26,10 +26,6 @@ Schema { value: String( "don't use", ), - span: Span { - start: 13, - end: 24, - }, }, ), }, @@ -52,10 +48,6 @@ Schema { value: Int( 100, ), - span: Span { - start: 59, - end: 62, - }, }, ), }, @@ -66,10 +58,6 @@ Schema { value: Int( 200, ), - span: Span { - start: 67, - end: 70, - }, }, ), }, @@ -87,10 +75,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 91, - end: 97, - }, }, generics: Generics( [], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@const_basic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@const_basic.stef.snap index bc70885..15c9195 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@const_basic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@const_basic.stef.snap @@ -19,26 +19,14 @@ Schema { ), name: Name { value: "BOOL_TRUE", - span: Span { - start: 6, - end: 15, - }, }, ty: Type { value: Bool, - span: Span { - start: 17, - end: 21, - }, }, value: Literal { value: Bool( true, ), - span: Span { - start: 24, - end: 28, - }, }, }, ), @@ -49,26 +37,14 @@ Schema { ), name: Name { value: "BOOL_FALSE", - span: Span { - start: 36, - end: 46, - }, }, ty: Type { value: Bool, - span: Span { - start: 48, - end: 52, - }, }, value: Literal { value: Bool( false, ), - span: Span { - start: 55, - end: 60, - }, }, }, ), @@ -79,26 +55,14 @@ Schema { ), name: Name { value: "INT", - span: Span { - start: 68, - end: 71, - }, }, ty: Type { value: U32, - span: Span { - start: 73, - end: 76, - }, }, value: Literal { value: Int( 100, ), - span: Span { - start: 79, - end: 82, - }, }, }, ), @@ -109,26 +73,14 @@ Schema { ), name: Name { value: "FLOAT", - span: Span { - start: 90, - end: 95, - }, }, ty: Type { value: F64, - span: Span { - start: 97, - end: 100, - }, }, value: Literal { value: Float( 5.5, ), - span: Span { - start: 103, - end: 106, - }, }, }, ), @@ -139,26 +91,14 @@ Schema { ), name: Name { value: "STRING", - span: Span { - start: 114, - end: 120, - }, }, ty: Type { value: String, - span: Span { - start: 122, - end: 128, - }, }, value: Literal { value: String( "value", ), - span: Span { - start: 131, - end: 138, - }, }, }, ), @@ -169,17 +109,9 @@ Schema { ), name: Name { value: "BYTES", - span: Span { - start: 146, - end: 151, - }, }, ty: Type { value: Bytes, - span: Span { - start: 153, - end: 158, - }, }, value: Literal { value: Bytes( @@ -189,10 +121,6 @@ Schema { 3, ], ), - span: Span { - start: 161, - end: 170, - }, }, }, ), diff --git a/crates/stef-parser/tests/snapshots/parser__parse@const_string.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@const_string.stef.snap index 89492ce..9178f2d 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@const_string.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@const_string.stef.snap @@ -19,26 +19,14 @@ Schema { ), name: Name { value: "SIMPLE", - span: Span { - start: 6, - end: 12, - }, }, ty: Type { value: String, - span: Span { - start: 14, - end: 20, - }, }, value: Literal { value: String( "value", ), - span: Span { - start: 23, - end: 30, - }, }, }, ), @@ -49,26 +37,14 @@ Schema { ), name: Name { value: "NEWLINE_ESCAPE", - span: Span { - start: 39, - end: 53, - }, }, ty: Type { value: String, - span: Span { - start: 55, - end: 61, - }, }, value: Literal { value: String( "one two three", ), - span: Span { - start: 64, - end: 93, - }, }, }, ), @@ -79,26 +55,14 @@ Schema { ), name: Name { value: "ESCAPES", - span: Span { - start: 102, - end: 109, - }, }, ty: Type { value: String, - span: Span { - start: 111, - end: 117, - }, }, value: Literal { value: String( "escape basics \r\n \t \u{8} \u{c} \\ \"hello\" \nunicode ❤ emoji ❤ ", ), - span: Span { - start: 120, - end: 213, - }, }, }, ), @@ -109,26 +73,14 @@ Schema { ), name: Name { value: "MULTILINE", - span: Span { - start: 222, - end: 231, - }, }, ty: Type { value: String, - span: Span { - start: 233, - end: 239, - }, }, value: Literal { value: String( "a\n b\n c\n", ), - span: Span { - start: 242, - end: 258, - }, }, }, ), diff --git a/crates/stef-parser/tests/snapshots/parser__parse@enum_basic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@enum_basic.stef.snap index 2a9671d..f80cef5 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@enum_basic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@enum_basic.stef.snap @@ -18,10 +18,6 @@ Schema { [ CommentLine { value: "Sample enum.", - span: Span { - start: 0, - end: 16, - }, }, ], ), @@ -30,10 +26,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 22, - end: 28, - }, }, generics: Generics( [], @@ -45,22 +37,10 @@ Schema { ), name: Name { value: "One", - span: Span { - start: 35, - end: 38, - }, }, fields: Unit, id: Id { value: 1, - span: Span { - start: 39, - end: 41, - }, - }, - span: Span { - start: 35, - end: 41, }, }, Variant { @@ -68,74 +48,34 @@ Schema { [ CommentLine { value: "Second variant", - span: Span { - start: 47, - end: 65, - }, }, ], ), name: Name { value: "Two", - span: Span { - start: 70, - end: 73, - }, }, fields: Unnamed( [ UnnamedField { ty: Type { value: U32, - span: Span { - start: 74, - end: 77, - }, }, id: Id { value: 1, - span: Span { - start: 78, - end: 80, - }, - }, - span: Span { - start: 74, - end: 80, }, }, UnnamedField { ty: Type { value: U64, - span: Span { - start: 82, - end: 85, - }, }, id: Id { value: 2, - span: Span { - start: 86, - end: 88, - }, - }, - span: Span { - start: 81, - end: 88, }, }, ], ), id: Id { value: 2, - span: Span { - start: 90, - end: 92, - }, - }, - span: Span { - start: 66, - end: 92, }, }, Variant { @@ -144,10 +84,6 @@ Schema { ), name: Name { value: "Three", - span: Span { - start: 98, - end: 103, - }, }, fields: Named( [ @@ -157,28 +93,12 @@ Schema { ), name: Name { value: "field1", - span: Span { - start: 114, - end: 120, - }, }, ty: Type { value: U32, - span: Span { - start: 122, - end: 125, - }, }, id: Id { value: 1, - span: Span { - start: 126, - end: 128, - }, - }, - span: Span { - start: 114, - end: 128, }, }, NamedField { @@ -186,51 +106,23 @@ Schema { [ CommentLine { value: "Second field of third variant", - span: Span { - start: 138, - end: 171, - }, }, ], ), name: Name { value: "field2", - span: Span { - start: 180, - end: 186, - }, }, ty: Type { value: Bool, - span: Span { - start: 188, - end: 192, - }, }, id: Id { value: 2, - span: Span { - start: 193, - end: 195, - }, - }, - span: Span { - start: 172, - end: 195, }, }, ], ), id: Id { value: 3, - span: Span { - start: 203, - end: 205, - }, - }, - span: Span { - start: 98, - end: 205, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@enum_generics.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@enum_generics.stef.snap index 42d8356..ddba1d1 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@enum_generics.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@enum_generics.stef.snap @@ -18,10 +18,6 @@ Schema { [ CommentLine { value: "Enum with generics.", - span: Span { - start: 0, - end: 23, - }, }, ], ), @@ -30,40 +26,20 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 29, - end: 35, - }, }, generics: Generics( [ Name { value: "A", - span: Span { - start: 36, - end: 37, - }, }, Name { value: "B", - span: Span { - start: 39, - end: 40, - }, }, Name { value: "C", - span: Span { - start: 42, - end: 43, - }, }, Name { value: "D", - span: Span { - start: 45, - end: 46, - }, }, ], ), @@ -74,22 +50,10 @@ Schema { ), name: Name { value: "One", - span: Span { - start: 54, - end: 57, - }, }, fields: Unit, id: Id { value: 1, - span: Span { - start: 58, - end: 60, - }, - }, - span: Span { - start: 54, - end: 60, }, }, Variant { @@ -98,10 +62,6 @@ Schema { ), name: Name { value: "Two", - span: Span { - start: 66, - end: 69, - }, }, fields: Unnamed( [ @@ -112,29 +72,13 @@ Schema { path: [], name: Name { value: "A", - span: Span { - start: 70, - end: 71, - }, }, generics: [], }, ), - span: Span { - start: 70, - end: 71, - }, }, id: Id { value: 1, - span: Span { - start: 72, - end: 74, - }, - }, - span: Span { - start: 70, - end: 74, }, }, UnnamedField { @@ -144,43 +88,19 @@ Schema { path: [], name: Name { value: "B", - span: Span { - start: 76, - end: 77, - }, }, generics: [], }, ), - span: Span { - start: 76, - end: 77, - }, }, id: Id { value: 2, - span: Span { - start: 78, - end: 80, - }, - }, - span: Span { - start: 75, - end: 80, }, }, ], ), id: Id { value: 2, - span: Span { - start: 82, - end: 84, - }, - }, - span: Span { - start: 66, - end: 84, }, }, Variant { @@ -189,10 +109,6 @@ Schema { ), name: Name { value: "Three", - span: Span { - start: 90, - end: 95, - }, }, fields: Named( [ @@ -202,10 +118,6 @@ Schema { ), name: Name { value: "field1", - span: Span { - start: 106, - end: 112, - }, }, ty: Type { value: External( @@ -213,29 +125,13 @@ Schema { path: [], name: Name { value: "C", - span: Span { - start: 114, - end: 115, - }, }, generics: [], }, ), - span: Span { - start: 114, - end: 115, - }, }, id: Id { value: 1, - span: Span { - start: 116, - end: 118, - }, - }, - span: Span { - start: 106, - end: 118, }, }, NamedField { @@ -244,10 +140,6 @@ Schema { ), name: Name { value: "field2", - span: Span { - start: 128, - end: 134, - }, }, ty: Type { value: External( @@ -255,43 +147,19 @@ Schema { path: [], name: Name { value: "D", - span: Span { - start: 136, - end: 137, - }, }, generics: [], }, ), - span: Span { - start: 136, - end: 137, - }, }, id: Id { value: 2, - span: Span { - start: 138, - end: 140, - }, - }, - span: Span { - start: 128, - end: 140, }, }, ], ), id: Id { value: 3, - span: Span { - start: 148, - end: 150, - }, - }, - span: Span { - start: 90, - end: 150, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@enum_many_ws.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@enum_many_ws.stef.snap index 829f88f..0efb6bc 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@enum_many_ws.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@enum_many_ws.stef.snap @@ -18,10 +18,6 @@ Schema { [ CommentLine { value: "Sample enum.", - span: Span { - start: 2, - end: 18, - }, }, ], ), @@ -30,10 +26,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 29, - end: 35, - }, }, generics: Generics( [], @@ -45,22 +37,10 @@ Schema { ), name: Name { value: "One", - span: Span { - start: 49, - end: 52, - }, }, fields: Unit, id: Id { value: 1, - span: Span { - start: 58, - end: 60, - }, - }, - span: Span { - start: 49, - end: 60, }, }, Variant { @@ -69,65 +49,29 @@ Schema { ), name: Name { value: "Two", - span: Span { - start: 70, - end: 73, - }, }, fields: Unnamed( [ UnnamedField { ty: Type { value: U32, - span: Span { - start: 79, - end: 82, - }, }, id: Id { value: 1, - span: Span { - start: 85, - end: 87, - }, - }, - span: Span { - start: 76, - end: 87, }, }, UnnamedField { ty: Type { value: U64, - span: Span { - start: 93, - end: 96, - }, }, id: Id { value: 2, - span: Span { - start: 101, - end: 103, - }, - }, - span: Span { - start: 88, - end: 103, }, }, ], ), id: Id { value: 2, - span: Span { - start: 108, - end: 110, - }, - }, - span: Span { - start: 70, - end: 110, }, }, Variant { @@ -136,10 +80,6 @@ Schema { ), name: Name { value: "Three", - span: Span { - start: 125, - end: 130, - }, }, fields: Named( [ @@ -149,28 +89,12 @@ Schema { ), name: Name { value: "field1", - span: Span { - start: 158, - end: 164, - }, }, ty: Type { value: U32, - span: Span { - start: 169, - end: 172, - }, }, id: Id { value: 1, - span: Span { - start: 178, - end: 180, - }, - }, - span: Span { - start: 158, - end: 180, }, }, NamedField { @@ -179,42 +103,18 @@ Schema { ), name: Name { value: "field2", - span: Span { - start: 203, - end: 209, - }, }, ty: Type { value: Bool, - span: Span { - start: 214, - end: 218, - }, }, id: Id { value: 2, - span: Span { - start: 223, - end: 225, - }, - }, - span: Span { - start: 203, - end: 225, }, }, ], ), id: Id { value: 3, - span: Span { - start: 245, - end: 247, - }, - }, - span: Span { - start: 125, - end: 247, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@enum_min_ws.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@enum_min_ws.stef.snap index 6230220..359cb37 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@enum_min_ws.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@enum_min_ws.stef.snap @@ -22,19 +22,11 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 5, - end: 11, - }, }, generics: Generics( [ Name { value: "T", - span: Span { - start: 12, - end: 13, - }, }, ], ), @@ -45,22 +37,10 @@ Schema { ), name: Name { value: "One", - span: Span { - start: 15, - end: 18, - }, }, fields: Unit, id: Id { value: 1, - span: Span { - start: 18, - end: 20, - }, - }, - span: Span { - start: 15, - end: 20, }, }, Variant { @@ -69,51 +49,23 @@ Schema { ), name: Name { value: "Two", - span: Span { - start: 21, - end: 24, - }, }, fields: Unnamed( [ UnnamedField { ty: Type { value: U32, - span: Span { - start: 25, - end: 28, - }, }, id: Id { value: 1, - span: Span { - start: 28, - end: 30, - }, - }, - span: Span { - start: 25, - end: 30, }, }, UnnamedField { ty: Type { value: U64, - span: Span { - start: 31, - end: 34, - }, }, id: Id { value: 2, - span: Span { - start: 34, - end: 36, - }, - }, - span: Span { - start: 31, - end: 36, }, }, UnnamedField { @@ -123,43 +75,19 @@ Schema { path: [], name: Name { value: "T", - span: Span { - start: 37, - end: 38, - }, }, generics: [], }, ), - span: Span { - start: 37, - end: 38, - }, }, id: Id { value: 3, - span: Span { - start: 38, - end: 40, - }, - }, - span: Span { - start: 37, - end: 40, }, }, ], ), id: Id { value: 2, - span: Span { - start: 41, - end: 43, - }, - }, - span: Span { - start: 21, - end: 43, }, }, Variant { @@ -168,10 +96,6 @@ Schema { ), name: Name { value: "Three", - span: Span { - start: 44, - end: 49, - }, }, fields: Named( [ @@ -181,28 +105,12 @@ Schema { ), name: Name { value: "field1", - span: Span { - start: 50, - end: 56, - }, }, ty: Type { value: U32, - span: Span { - start: 57, - end: 60, - }, }, id: Id { value: 1, - span: Span { - start: 60, - end: 62, - }, - }, - span: Span { - start: 50, - end: 62, }, }, NamedField { @@ -211,28 +119,12 @@ Schema { ), name: Name { value: "field2", - span: Span { - start: 63, - end: 69, - }, }, ty: Type { value: Bool, - span: Span { - start: 70, - end: 74, - }, }, id: Id { value: 2, - span: Span { - start: 74, - end: 76, - }, - }, - span: Span { - start: 63, - end: 76, }, }, NamedField { @@ -241,10 +133,6 @@ Schema { ), name: Name { value: "field3", - span: Span { - start: 77, - end: 83, - }, }, ty: Type { value: External( @@ -252,43 +140,19 @@ Schema { path: [], name: Name { value: "T", - span: Span { - start: 84, - end: 85, - }, }, generics: [], }, ), - span: Span { - start: 84, - end: 85, - }, }, id: Id { value: 3, - span: Span { - start: 85, - end: 87, - }, - }, - span: Span { - start: 77, - end: 87, }, }, ], ), id: Id { value: 3, - span: Span { - start: 88, - end: 90, - }, - }, - span: Span { - start: 44, - end: 90, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@import_basic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@import_basic.stef.snap index 58d05b4..7d48841 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@import_basic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@import_basic.stef.snap @@ -16,34 +16,18 @@ Schema { Import { full: Name { value: "other::schema::Sample", - span: Span { - start: 4, - end: 25, - }, }, segments: [ Name { value: "other", - span: Span { - start: 4, - end: 9, - }, }, Name { value: "schema", - span: Span { - start: 11, - end: 17, - }, }, ], element: Some( Name { value: "Sample", - span: Span { - start: 19, - end: 25, - }, }, ), }, @@ -52,25 +36,13 @@ Schema { Import { full: Name { value: "second::submodule", - span: Span { - start: 31, - end: 48, - }, }, segments: [ Name { value: "second", - span: Span { - start: 31, - end: 37, - }, }, Name { value: "submodule", - span: Span { - start: 39, - end: 48, - }, }, ], element: None, diff --git a/crates/stef-parser/tests/snapshots/parser__parse@mixed.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@mixed.stef.snap index 1d8e24d..6f7fe20 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@mixed.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@mixed.stef.snap @@ -12,10 +12,6 @@ Schema { [ CommentLine { value: "Schema with a bit of everything, to try out more complex scenarios.", - span: Span { - start: 0, - end: 71, - }, }, ], ), @@ -26,31 +22,15 @@ Schema { [ CommentLine { value: "Basic user information.", - span: Span { - start: 73, - end: 100, - }, }, CommentLine { value: "", - span: Span { - start: 101, - end: 104, - }, }, CommentLine { value: "Uses various other `structs` and `enums` to compose the information", - span: Span { - start: 105, - end: 176, - }, }, CommentLine { value: "in a **type safe** way.", - span: Span { - start: 177, - end: 204, - }, }, ], ), @@ -59,10 +39,6 @@ Schema { ), name: Name { value: "User", - span: Span { - start: 212, - end: 216, - }, }, generics: Generics( [], @@ -75,10 +51,6 @@ Schema { ), name: Name { value: "name", - span: Span { - start: 223, - end: 227, - }, }, ty: Type { value: External( @@ -86,29 +58,13 @@ Schema { path: [], name: Name { value: "FullName", - span: Span { - start: 229, - end: 237, - }, }, generics: [], }, ), - span: Span { - start: 229, - end: 237, - }, }, id: Id { value: 1, - span: Span { - start: 238, - end: 240, - }, - }, - span: Span { - start: 223, - end: 240, }, }, NamedField { @@ -116,19 +72,11 @@ Schema { [ CommentLine { value: "Physical address, might not be specified by the user.", - span: Span { - start: 246, - end: 303, - }, }, ], ), name: Name { value: "address", - span: Span { - start: 308, - end: 315, - }, }, ty: Type { value: Option( @@ -138,35 +86,15 @@ Schema { path: [], name: Name { value: "Address", - span: Span { - start: 324, - end: 331, - }, }, generics: [], }, ), - span: Span { - start: 324, - end: 331, - }, }, ), - span: Span { - start: 317, - end: 332, - }, }, id: Id { value: 2, - span: Span { - start: 333, - end: 335, - }, - }, - span: Span { - start: 304, - end: 335, }, }, NamedField { @@ -175,28 +103,12 @@ Schema { ), name: Name { value: "age", - span: Span { - start: 341, - end: 344, - }, }, ty: Type { value: U8, - span: Span { - start: 346, - end: 348, - }, }, id: Id { value: 3, - span: Span { - start: 349, - end: 351, - }, - }, - span: Span { - start: 341, - end: 351, }, }, NamedField { @@ -205,10 +117,6 @@ Schema { ), name: Name { value: "birthday", - span: Span { - start: 357, - end: 365, - }, }, ty: Type { value: External( @@ -216,37 +124,17 @@ Schema { path: [ Name { value: "birthday", - span: Span { - start: 367, - end: 375, - }, }, ], name: Name { value: "DayOfBirth", - span: Span { - start: 377, - end: 387, - }, }, generics: [], }, ), - span: Span { - start: 367, - end: 387, - }, }, id: Id { value: 4, - span: Span { - start: 388, - end: 390, - }, - }, - span: Span { - start: 357, - end: 390, }, }, ], @@ -259,10 +147,6 @@ Schema { [ CommentLine { value: "Full name of a user.", - span: Span { - start: 395, - end: 419, - }, }, ], ), @@ -271,10 +155,6 @@ Schema { ), name: Name { value: "FullName", - span: Span { - start: 427, - end: 435, - }, }, generics: Generics( [], @@ -287,28 +167,12 @@ Schema { ), name: Name { value: "first", - span: Span { - start: 442, - end: 447, - }, }, ty: Type { value: String, - span: Span { - start: 449, - end: 455, - }, }, id: Id { value: 1, - span: Span { - start: 456, - end: 458, - }, - }, - span: Span { - start: 442, - end: 458, }, }, NamedField { @@ -317,36 +181,16 @@ Schema { ), name: Name { value: "middle", - span: Span { - start: 464, - end: 470, - }, }, ty: Type { value: Option( Type { value: String, - span: Span { - start: 479, - end: 485, - }, }, ), - span: Span { - start: 472, - end: 486, - }, }, id: Id { value: 2, - span: Span { - start: 487, - end: 489, - }, - }, - span: Span { - start: 464, - end: 489, }, }, NamedField { @@ -355,28 +199,12 @@ Schema { ), name: Name { value: "last", - span: Span { - start: 495, - end: 499, - }, }, ty: Type { value: String, - span: Span { - start: 501, - end: 507, - }, }, id: Id { value: 3, - span: Span { - start: 508, - end: 510, - }, - }, - span: Span { - start: 495, - end: 510, }, }, ], @@ -389,40 +217,20 @@ Schema { [ CommentLine { value: "Simple alias for convenience.", - span: Span { - start: 515, - end: 548, - }, }, CommentLine { value: "", - span: Span { - start: 549, - end: 552, - }, }, CommentLine { value: "- Might be easier to remember.", - span: Span { - start: 553, - end: 587, - }, }, CommentLine { value: "- Often referenced as this.", - span: Span { - start: 588, - end: 619, - }, }, ], ), name: Name { value: "Name", - span: Span { - start: 625, - end: 629, - }, }, generics: Generics( [], @@ -433,18 +241,10 @@ Schema { path: [], name: Name { value: "FullName", - span: Span { - start: 632, - end: 640, - }, }, generics: [], }, ), - span: Span { - start: 632, - end: 640, - }, }, }, ), @@ -458,10 +258,6 @@ Schema { ), name: Name { value: "Address", - span: Span { - start: 650, - end: 657, - }, }, generics: Generics( [], @@ -473,37 +269,17 @@ Schema { [ CommentLine { value: "Street name.", - span: Span { - start: 664, - end: 680, - }, }, ], ), name: Name { value: "street", - span: Span { - start: 685, - end: 691, - }, }, ty: Type { value: String, - span: Span { - start: 693, - end: 699, - }, }, id: Id { value: 1, - span: Span { - start: 700, - end: 702, - }, - }, - span: Span { - start: 681, - end: 702, }, }, NamedField { @@ -511,19 +287,11 @@ Schema { [ CommentLine { value: "Number of the house in the street.", - span: Span { - start: 708, - end: 746, - }, }, ], ), name: Name { value: "house_no", - span: Span { - start: 751, - end: 759, - }, }, ty: Type { value: External( @@ -531,29 +299,13 @@ Schema { path: [], name: Name { value: "HouseNumber", - span: Span { - start: 761, - end: 772, - }, }, generics: [], }, ), - span: Span { - start: 761, - end: 772, - }, }, id: Id { value: 2, - span: Span { - start: 773, - end: 775, - }, - }, - span: Span { - start: 747, - end: 775, }, }, NamedField { @@ -562,28 +314,12 @@ Schema { ), name: Name { value: "city", - span: Span { - start: 781, - end: 785, - }, }, ty: Type { value: String, - span: Span { - start: 787, - end: 793, - }, }, id: Id { value: 3, - span: Span { - start: 794, - end: 796, - }, - }, - span: Span { - start: 781, - end: 796, }, }, ], @@ -596,24 +332,12 @@ Schema { [ CommentLine { value: "The number on the house.", - span: Span { - start: 801, - end: 829, - }, }, CommentLine { value: "", - span: Span { - start: 830, - end: 833, - }, }, CommentLine { value: "More details can be found at [Wikipedia](https://en.wikipedia.org/wiki/House_numbering).", - span: Span { - start: 834, - end: 926, - }, }, ], ), @@ -622,10 +346,6 @@ Schema { ), name: Name { value: "HouseNumber", - span: Span { - start: 932, - end: 943, - }, }, generics: Generics( [], @@ -636,54 +356,26 @@ Schema { [ CommentLine { value: "Digit only number.", - span: Span { - start: 950, - end: 972, - }, }, ], ), name: Name { value: "Digit", - span: Span { - start: 977, - end: 982, - }, }, fields: Unnamed( [ UnnamedField { ty: Type { value: U16, - span: Span { - start: 983, - end: 986, - }, }, id: Id { value: 1, - span: Span { - start: 987, - end: 989, - }, - }, - span: Span { - start: 983, - end: 989, }, }, ], ), id: Id { value: 1, - span: Span { - start: 991, - end: 993, - }, - }, - span: Span { - start: 973, - end: 993, }, }, Variant { @@ -691,54 +383,26 @@ Schema { [ CommentLine { value: "Mixed _number_ with characters like `1a`.", - span: Span { - start: 999, - end: 1044, - }, }, ], ), name: Name { value: "Text", - span: Span { - start: 1049, - end: 1053, - }, }, fields: Unnamed( [ UnnamedField { ty: Type { value: String, - span: Span { - start: 1054, - end: 1060, - }, }, id: Id { value: 1, - span: Span { - start: 1061, - end: 1063, - }, - }, - span: Span { - start: 1054, - end: 1063, }, }, ], ), id: Id { value: 2, - span: Span { - start: 1065, - end: 1067, - }, - }, - span: Span { - start: 1045, - end: 1067, }, }, ], @@ -750,35 +414,19 @@ Schema { [ CommentLine { value: "Probably the max age of a human, currently.", - span: Span { - start: 1072, - end: 1119, - }, }, ], ), name: Name { value: "MAX_AGE", - span: Span { - start: 1126, - end: 1133, - }, }, ty: Type { value: U8, - span: Span { - start: 1135, - end: 1137, - }, }, value: Literal { value: Int( 120, ), - span: Span { - start: 1140, - end: 1143, - }, }, }, ), @@ -788,19 +436,11 @@ Schema { [ CommentLine { value: "Details for defining birthdays.", - span: Span { - start: 1147, - end: 1182, - }, }, ], ), name: Name { value: "birthday", - span: Span { - start: 1187, - end: 1195, - }, }, definitions: [ Enum( @@ -809,10 +449,6 @@ Schema { [ CommentLine { value: "As the name suggests, specifies details about birthdays.", - span: Span { - start: 1202, - end: 1262, - }, }, ], ), @@ -821,10 +457,6 @@ Schema { ), name: Name { value: "DayOfBirth", - span: Span { - start: 1272, - end: 1282, - }, }, generics: Generics( [], @@ -836,10 +468,6 @@ Schema { ), name: Name { value: "Specific", - span: Span { - start: 1293, - end: 1301, - }, }, fields: Named( [ @@ -849,28 +477,12 @@ Schema { ), name: Name { value: "year", - span: Span { - start: 1316, - end: 1320, - }, }, ty: Type { value: U16, - span: Span { - start: 1322, - end: 1325, - }, }, id: Id { value: 1, - span: Span { - start: 1326, - end: 1328, - }, - }, - span: Span { - start: 1316, - end: 1328, }, }, NamedField { @@ -879,10 +491,6 @@ Schema { ), name: Name { value: "month", - span: Span { - start: 1342, - end: 1347, - }, }, ty: Type { value: External( @@ -890,29 +498,13 @@ Schema { path: [], name: Name { value: "Month", - span: Span { - start: 1349, - end: 1354, - }, }, generics: [], }, ), - span: Span { - start: 1349, - end: 1354, - }, }, id: Id { value: 2, - span: Span { - start: 1355, - end: 1357, - }, - }, - span: Span { - start: 1342, - end: 1357, }, }, NamedField { @@ -921,42 +513,18 @@ Schema { ), name: Name { value: "day", - span: Span { - start: 1371, - end: 1374, - }, }, ty: Type { value: U8, - span: Span { - start: 1376, - end: 1378, - }, }, id: Id { value: 3, - span: Span { - start: 1379, - end: 1381, - }, - }, - span: Span { - start: 1371, - end: 1381, }, }, ], ), id: Id { value: 1, - span: Span { - start: 1393, - end: 1395, - }, - }, - span: Span { - start: 1293, - end: 1395, }, }, Variant { @@ -964,19 +532,11 @@ Schema { [ CommentLine { value: "The user didn't want to say.", - span: Span { - start: 1405, - end: 1437, - }, }, ], ), name: Name { value: "Secret", - span: Span { - start: 1446, - end: 1452, - }, }, fields: Named( [ @@ -985,66 +545,30 @@ Schema { [ CommentLine { value: "Optional info from the user about why they didn't want to", - span: Span { - start: 1467, - end: 1528, - }, }, CommentLine { value: "reveal their birthday.", - span: Span { - start: 1541, - end: 1567, - }, }, ], ), name: Name { value: "reason", - span: Span { - start: 1580, - end: 1586, - }, }, ty: Type { value: Option( Type { value: String, - span: Span { - start: 1595, - end: 1601, - }, }, ), - span: Span { - start: 1588, - end: 1602, - }, }, id: Id { value: 1, - span: Span { - start: 1603, - end: 1605, - }, - }, - span: Span { - start: 1568, - end: 1605, }, }, ], ), id: Id { value: 2, - span: Span { - start: 1617, - end: 1619, - }, - }, - span: Span { - start: 1438, - end: 1619, }, }, Variant { @@ -1052,31 +576,15 @@ Schema { [ CommentLine { value: "We never asked and nobody knows.", - span: Span { - start: 1629, - end: 1665, - }, }, ], ), name: Name { value: "Unknown", - span: Span { - start: 1674, - end: 1681, - }, }, fields: Unit, id: Id { value: 3, - span: Span { - start: 1682, - end: 1684, - }, - }, - span: Span { - start: 1666, - end: 1684, }, }, ], @@ -1088,35 +596,19 @@ Schema { [ CommentLine { value: "Let's assume we only have details of people born **after** this year.", - span: Span { - start: 1697, - end: 1770, - }, }, ], ), name: Name { value: "MIN_YEAR", - span: Span { - start: 1781, - end: 1789, - }, }, ty: Type { value: U16, - span: Span { - start: 1791, - end: 1794, - }, }, value: Literal { value: Int( 1900, ), - span: Span { - start: 1797, - end: 1801, - }, }, }, ), @@ -1126,42 +618,22 @@ Schema { [ CommentLine { value: "Absolute maximum for a day, but might be even less depending", - span: Span { - start: 1808, - end: 1872, - }, }, CommentLine { value: "on the month.", - span: Span { - start: 1877, - end: 1894, - }, }, ], ), name: Name { value: "MAX_DAY", - span: Span { - start: 1905, - end: 1912, - }, }, ty: Type { value: U8, - span: Span { - start: 1914, - end: 1916, - }, }, value: Literal { value: Int( 31, ), - span: Span { - start: 1919, - end: 1921, - }, }, }, ), @@ -1171,10 +643,6 @@ Schema { [ CommentLine { value: "The month of the year.", - span: Span { - start: 1928, - end: 1954, - }, }, ], ), @@ -1183,10 +651,6 @@ Schema { ), name: Name { value: "Month", - span: Span { - start: 1964, - end: 1969, - }, }, generics: Generics( [], @@ -1198,22 +662,10 @@ Schema { ), name: Name { value: "January", - span: Span { - start: 1980, - end: 1987, - }, }, fields: Unit, id: Id { value: 1, - span: Span { - start: 1988, - end: 1990, - }, - }, - span: Span { - start: 1980, - end: 1990, }, }, Variant { @@ -1222,22 +674,10 @@ Schema { ), name: Name { value: "February", - span: Span { - start: 2000, - end: 2008, - }, }, fields: Unit, id: Id { value: 2, - span: Span { - start: 2009, - end: 2011, - }, - }, - span: Span { - start: 2000, - end: 2011, }, }, Variant { @@ -1246,22 +686,10 @@ Schema { ), name: Name { value: "March", - span: Span { - start: 2021, - end: 2026, - }, }, fields: Unit, id: Id { value: 3, - span: Span { - start: 2027, - end: 2029, - }, - }, - span: Span { - start: 2021, - end: 2029, }, }, Variant { @@ -1270,22 +698,10 @@ Schema { ), name: Name { value: "April", - span: Span { - start: 2039, - end: 2044, - }, }, fields: Unit, id: Id { value: 4, - span: Span { - start: 2045, - end: 2047, - }, - }, - span: Span { - start: 2039, - end: 2047, }, }, Variant { @@ -1294,22 +710,10 @@ Schema { ), name: Name { value: "May", - span: Span { - start: 2057, - end: 2060, - }, }, fields: Unit, id: Id { value: 5, - span: Span { - start: 2061, - end: 2063, - }, - }, - span: Span { - start: 2057, - end: 2063, }, }, Variant { @@ -1318,22 +722,10 @@ Schema { ), name: Name { value: "June", - span: Span { - start: 2073, - end: 2077, - }, }, fields: Unit, id: Id { value: 6, - span: Span { - start: 2078, - end: 2080, - }, - }, - span: Span { - start: 2073, - end: 2080, }, }, Variant { @@ -1342,22 +734,10 @@ Schema { ), name: Name { value: "July", - span: Span { - start: 2090, - end: 2094, - }, }, fields: Unit, id: Id { value: 7, - span: Span { - start: 2095, - end: 2097, - }, - }, - span: Span { - start: 2090, - end: 2097, }, }, Variant { @@ -1366,22 +746,10 @@ Schema { ), name: Name { value: "August", - span: Span { - start: 2107, - end: 2113, - }, }, fields: Unit, id: Id { value: 8, - span: Span { - start: 2114, - end: 2116, - }, - }, - span: Span { - start: 2107, - end: 2116, }, }, Variant { @@ -1390,22 +758,10 @@ Schema { ), name: Name { value: "September", - span: Span { - start: 2126, - end: 2135, - }, }, fields: Unit, id: Id { value: 9, - span: Span { - start: 2136, - end: 2138, - }, - }, - span: Span { - start: 2126, - end: 2138, }, }, Variant { @@ -1414,22 +770,10 @@ Schema { ), name: Name { value: "October", - span: Span { - start: 2148, - end: 2155, - }, }, fields: Unit, id: Id { value: 10, - span: Span { - start: 2156, - end: 2159, - }, - }, - span: Span { - start: 2148, - end: 2159, }, }, Variant { @@ -1438,22 +782,10 @@ Schema { ), name: Name { value: "November", - span: Span { - start: 2169, - end: 2177, - }, }, fields: Unit, id: Id { value: 11, - span: Span { - start: 2178, - end: 2181, - }, - }, - span: Span { - start: 2169, - end: 2181, }, }, Variant { @@ -1462,22 +794,10 @@ Schema { ), name: Name { value: "December", - span: Span { - start: 2191, - end: 2199, - }, }, fields: Unit, id: Id { value: 12, - span: Span { - start: 2200, - end: 2203, - }, - }, - span: Span { - start: 2191, - end: 2203, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@module_basic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@module_basic.stef.snap index 78f6317..a512a9c 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@module_basic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@module_basic.stef.snap @@ -19,10 +19,6 @@ Schema { ), name: Name { value: "a", - span: Span { - start: 4, - end: 5, - }, }, definitions: [ Module( @@ -31,19 +27,11 @@ Schema { [ CommentLine { value: "Inner module", - span: Span { - start: 12, - end: 28, - }, }, ], ), name: Name { value: "b", - span: Span { - start: 37, - end: 38, - }, }, definitions: [ Enum( @@ -56,10 +44,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 54, - end: 60, - }, }, generics: Generics( [], @@ -71,22 +55,10 @@ Schema { ), name: Name { value: "One", - span: Span { - start: 75, - end: 78, - }, }, fields: Unit, id: Id { value: 1, - span: Span { - start: 79, - end: 81, - }, - }, - span: Span { - start: 75, - end: 81, }, }, ], @@ -105,10 +77,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 111, - end: 117, - }, }, generics: Generics( [], @@ -121,28 +89,12 @@ Schema { ), name: Name { value: "value", - span: Span { - start: 128, - end: 133, - }, }, ty: Type { value: U32, - span: Span { - start: 135, - end: 138, - }, }, id: Id { value: 1, - span: Span { - start: 139, - end: 141, - }, - }, - span: Span { - start: 128, - end: 141, }, }, NamedField { @@ -151,10 +103,6 @@ Schema { ), name: Name { value: "inner", - span: Span { - start: 151, - end: 156, - }, }, ty: Type { value: External( @@ -162,37 +110,17 @@ Schema { path: [ Name { value: "b", - span: Span { - start: 158, - end: 159, - }, }, ], name: Name { value: "Sample", - span: Span { - start: 161, - end: 167, - }, }, generics: [], }, ), - span: Span { - start: 158, - end: 167, - }, }, id: Id { value: 2, - span: Span { - start: 168, - end: 170, - }, - }, - span: Span { - start: 151, - end: 170, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@schema_basic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@schema_basic.stef.snap index b82177f..91d7de4 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@schema_basic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@schema_basic.stef.snap @@ -18,10 +18,6 @@ Schema { [ CommentLine { value: "Basic struct.", - span: Span { - start: 0, - end: 17, - }, }, ], ), @@ -30,10 +26,6 @@ Schema { ), name: Name { value: "SampleStruct", - span: Span { - start: 25, - end: 37, - }, }, generics: Generics( [], @@ -46,28 +38,12 @@ Schema { ), name: Name { value: "a", - span: Span { - start: 44, - end: 45, - }, }, ty: Type { value: U32, - span: Span { - start: 47, - end: 50, - }, }, id: Id { value: 1, - span: Span { - start: 51, - end: 53, - }, - }, - span: Span { - start: 44, - end: 53, }, }, NamedField { @@ -76,28 +52,12 @@ Schema { ), name: Name { value: "b", - span: Span { - start: 59, - end: 60, - }, }, ty: Type { value: Bool, - span: Span { - start: 62, - end: 66, - }, }, id: Id { value: 2, - span: Span { - start: 67, - end: 69, - }, - }, - span: Span { - start: 59, - end: 69, }, }, ], @@ -110,10 +70,6 @@ Schema { [ CommentLine { value: "Sample enum.", - span: Span { - start: 74, - end: 90, - }, }, ], ), @@ -122,10 +78,6 @@ Schema { ), name: Name { value: "SampleEnum", - span: Span { - start: 96, - end: 106, - }, }, generics: Generics( [], @@ -137,22 +89,10 @@ Schema { ), name: Name { value: "One", - span: Span { - start: 113, - end: 116, - }, }, fields: Unit, id: Id { value: 1, - span: Span { - start: 117, - end: 119, - }, - }, - span: Span { - start: 113, - end: 119, }, }, Variant { @@ -161,65 +101,29 @@ Schema { ), name: Name { value: "Two", - span: Span { - start: 125, - end: 128, - }, }, fields: Unnamed( [ UnnamedField { ty: Type { value: U32, - span: Span { - start: 129, - end: 132, - }, }, id: Id { value: 1, - span: Span { - start: 133, - end: 135, - }, - }, - span: Span { - start: 129, - end: 135, }, }, UnnamedField { ty: Type { value: U64, - span: Span { - start: 137, - end: 140, - }, }, id: Id { value: 2, - span: Span { - start: 141, - end: 143, - }, - }, - span: Span { - start: 136, - end: 143, }, }, ], ), id: Id { value: 2, - span: Span { - start: 145, - end: 147, - }, - }, - span: Span { - start: 125, - end: 147, }, }, Variant { @@ -228,10 +132,6 @@ Schema { ), name: Name { value: "Three", - span: Span { - start: 153, - end: 158, - }, }, fields: Named( [ @@ -241,28 +141,12 @@ Schema { ), name: Name { value: "field1", - span: Span { - start: 169, - end: 175, - }, }, ty: Type { value: U32, - span: Span { - start: 177, - end: 180, - }, }, id: Id { value: 1, - span: Span { - start: 181, - end: 183, - }, - }, - span: Span { - start: 169, - end: 183, }, }, NamedField { @@ -271,42 +155,18 @@ Schema { ), name: Name { value: "field2", - span: Span { - start: 193, - end: 199, - }, }, ty: Type { value: Bool, - span: Span { - start: 201, - end: 205, - }, }, id: Id { value: 2, - span: Span { - start: 206, - end: 208, - }, - }, - span: Span { - start: 193, - end: 208, }, }, ], ), id: Id { value: 3, - span: Span { - start: 216, - end: 218, - }, - }, - span: Span { - start: 153, - end: 218, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@struct_basic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@struct_basic.stef.snap index 6e99851..c52c264 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@struct_basic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@struct_basic.stef.snap @@ -18,10 +18,6 @@ Schema { [ CommentLine { value: "Basic struct.", - span: Span { - start: 0, - end: 17, - }, }, ], ), @@ -30,10 +26,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 25, - end: 31, - }, }, generics: Generics( [], @@ -46,28 +38,12 @@ Schema { ), name: Name { value: "a", - span: Span { - start: 38, - end: 39, - }, }, ty: Type { value: U32, - span: Span { - start: 41, - end: 44, - }, }, id: Id { value: 1, - span: Span { - start: 45, - end: 47, - }, - }, - span: Span { - start: 38, - end: 47, }, }, NamedField { @@ -75,37 +51,17 @@ Schema { [ CommentLine { value: "Second field", - span: Span { - start: 53, - end: 69, - }, }, ], ), name: Name { value: "b", - span: Span { - start: 74, - end: 75, - }, }, ty: Type { value: Bool, - span: Span { - start: 77, - end: 81, - }, }, id: Id { value: 2, - span: Span { - start: 82, - end: 84, - }, - }, - span: Span { - start: 70, - end: 84, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@struct_generics.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@struct_generics.stef.snap index 89160e6..c6cd888 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@struct_generics.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@struct_generics.stef.snap @@ -18,10 +18,6 @@ Schema { [ CommentLine { value: "Generic key-value pair.", - span: Span { - start: 0, - end: 27, - }, }, ], ), @@ -30,26 +26,14 @@ Schema { ), name: Name { value: "KeyValue", - span: Span { - start: 35, - end: 43, - }, }, generics: Generics( [ Name { value: "K", - span: Span { - start: 44, - end: 45, - }, }, Name { value: "V", - span: Span { - start: 47, - end: 48, - }, }, ], ), @@ -61,10 +45,6 @@ Schema { ), name: Name { value: "key", - span: Span { - start: 56, - end: 59, - }, }, ty: Type { value: External( @@ -72,29 +52,13 @@ Schema { path: [], name: Name { value: "K", - span: Span { - start: 61, - end: 62, - }, }, generics: [], }, ), - span: Span { - start: 61, - end: 62, - }, }, id: Id { value: 1, - span: Span { - start: 63, - end: 65, - }, - }, - span: Span { - start: 56, - end: 65, }, }, NamedField { @@ -103,10 +67,6 @@ Schema { ), name: Name { value: "value", - span: Span { - start: 71, - end: 76, - }, }, ty: Type { value: External( @@ -114,29 +74,13 @@ Schema { path: [], name: Name { value: "V", - span: Span { - start: 78, - end: 79, - }, }, generics: [], }, ), - span: Span { - start: 78, - end: 79, - }, }, id: Id { value: 2, - span: Span { - start: 80, - end: 82, - }, - }, - span: Span { - start: 71, - end: 82, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@struct_many_ws.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@struct_many_ws.stef.snap index e38ff3f..ae16364 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@struct_many_ws.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@struct_many_ws.stef.snap @@ -18,10 +18,6 @@ Schema { [ CommentLine { value: "Some comment", - span: Span { - start: 2, - end: 18, - }, }, ], ), @@ -30,19 +26,11 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 38, - end: 44, - }, }, generics: Generics( [ Name { value: "T", - span: Span { - start: 58, - end: 59, - }, }, ], ), @@ -54,28 +42,12 @@ Schema { ), name: Name { value: "a", - span: Span { - start: 80, - end: 81, - }, }, ty: Type { value: U32, - span: Span { - start: 86, - end: 89, - }, }, id: Id { value: 1, - span: Span { - start: 93, - end: 95, - }, - }, - span: Span { - start: 80, - end: 95, }, }, NamedField { @@ -84,28 +56,12 @@ Schema { ), name: Name { value: "b", - span: Span { - start: 103, - end: 104, - }, }, ty: Type { value: Bool, - span: Span { - start: 109, - end: 113, - }, }, id: Id { value: 2, - span: Span { - start: 116, - end: 118, - }, - }, - span: Span { - start: 103, - end: 118, }, }, NamedField { @@ -114,10 +70,6 @@ Schema { ), name: Name { value: "c", - span: Span { - start: 126, - end: 127, - }, }, ty: Type { value: External( @@ -125,29 +77,13 @@ Schema { path: [], name: Name { value: "T", - span: Span { - start: 132, - end: 133, - }, }, generics: [], }, ), - span: Span { - start: 132, - end: 133, - }, }, id: Id { value: 3, - span: Span { - start: 139, - end: 141, - }, - }, - span: Span { - start: 126, - end: 141, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@struct_min_ws.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@struct_min_ws.stef.snap index 2aa9f4d..35b9396 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@struct_min_ws.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@struct_min_ws.stef.snap @@ -22,19 +22,11 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 7, - end: 13, - }, }, generics: Generics( [ Name { value: "T", - span: Span { - start: 14, - end: 15, - }, }, ], ), @@ -46,28 +38,12 @@ Schema { ), name: Name { value: "a", - span: Span { - start: 17, - end: 18, - }, }, ty: Type { value: U32, - span: Span { - start: 19, - end: 22, - }, }, id: Id { value: 1, - span: Span { - start: 22, - end: 24, - }, - }, - span: Span { - start: 17, - end: 24, }, }, NamedField { @@ -76,28 +52,12 @@ Schema { ), name: Name { value: "b", - span: Span { - start: 25, - end: 26, - }, }, ty: Type { value: Bool, - span: Span { - start: 27, - end: 31, - }, }, id: Id { value: 2, - span: Span { - start: 31, - end: 33, - }, - }, - span: Span { - start: 25, - end: 33, }, }, NamedField { @@ -106,10 +66,6 @@ Schema { ), name: Name { value: "c", - span: Span { - start: 34, - end: 35, - }, }, ty: Type { value: External( @@ -117,29 +73,13 @@ Schema { path: [], name: Name { value: "T", - span: Span { - start: 36, - end: 37, - }, }, generics: [], }, ), - span: Span { - start: 36, - end: 37, - }, }, id: Id { value: 3, - span: Span { - start: 37, - end: 39, - }, - }, - span: Span { - start: 34, - end: 39, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@struct_tuple.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@struct_tuple.stef.snap index 0253d42..c0ff80f 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@struct_tuple.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@struct_tuple.stef.snap @@ -18,10 +18,6 @@ Schema { [ CommentLine { value: "Basic struct.", - span: Span { - start: 0, - end: 17, - }, }, ], ), @@ -30,10 +26,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 25, - end: 31, - }, }, generics: Generics( [], @@ -43,41 +35,17 @@ Schema { UnnamedField { ty: Type { value: U32, - span: Span { - start: 32, - end: 35, - }, }, id: Id { value: 1, - span: Span { - start: 36, - end: 38, - }, - }, - span: Span { - start: 32, - end: 38, }, }, UnnamedField { ty: Type { value: Bool, - span: Span { - start: 40, - end: 44, - }, }, id: Id { value: 2, - span: Span { - start: 45, - end: 47, - }, - }, - span: Span { - start: 39, - end: 47, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@types_basic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@types_basic.stef.snap index 10eae2e..340b6e7 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@types_basic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@types_basic.stef.snap @@ -22,10 +22,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 7, - end: 13, - }, }, generics: Generics( [], @@ -38,28 +34,12 @@ Schema { ), name: Name { value: "f01", - span: Span { - start: 20, - end: 23, - }, }, ty: Type { value: Bool, - span: Span { - start: 25, - end: 29, - }, }, id: Id { value: 1, - span: Span { - start: 30, - end: 32, - }, - }, - span: Span { - start: 20, - end: 32, }, }, NamedField { @@ -68,28 +48,12 @@ Schema { ), name: Name { value: "f02", - span: Span { - start: 38, - end: 41, - }, }, ty: Type { value: U8, - span: Span { - start: 43, - end: 45, - }, }, id: Id { value: 2, - span: Span { - start: 46, - end: 48, - }, - }, - span: Span { - start: 38, - end: 48, }, }, NamedField { @@ -98,28 +62,12 @@ Schema { ), name: Name { value: "f03", - span: Span { - start: 54, - end: 57, - }, }, ty: Type { value: U16, - span: Span { - start: 59, - end: 62, - }, }, id: Id { value: 3, - span: Span { - start: 63, - end: 65, - }, - }, - span: Span { - start: 54, - end: 65, }, }, NamedField { @@ -128,28 +76,12 @@ Schema { ), name: Name { value: "f04", - span: Span { - start: 71, - end: 74, - }, }, ty: Type { value: U32, - span: Span { - start: 76, - end: 79, - }, }, id: Id { value: 4, - span: Span { - start: 80, - end: 82, - }, - }, - span: Span { - start: 71, - end: 82, }, }, NamedField { @@ -158,28 +90,12 @@ Schema { ), name: Name { value: "f05", - span: Span { - start: 88, - end: 91, - }, }, ty: Type { value: U64, - span: Span { - start: 93, - end: 96, - }, }, id: Id { value: 5, - span: Span { - start: 97, - end: 99, - }, - }, - span: Span { - start: 88, - end: 99, }, }, NamedField { @@ -188,28 +104,12 @@ Schema { ), name: Name { value: "f06", - span: Span { - start: 105, - end: 108, - }, }, ty: Type { value: U128, - span: Span { - start: 110, - end: 114, - }, }, id: Id { value: 6, - span: Span { - start: 115, - end: 117, - }, - }, - span: Span { - start: 105, - end: 117, }, }, NamedField { @@ -218,28 +118,12 @@ Schema { ), name: Name { value: "f07", - span: Span { - start: 123, - end: 126, - }, }, ty: Type { value: I8, - span: Span { - start: 128, - end: 130, - }, }, id: Id { value: 7, - span: Span { - start: 131, - end: 133, - }, - }, - span: Span { - start: 123, - end: 133, }, }, NamedField { @@ -248,28 +132,12 @@ Schema { ), name: Name { value: "f08", - span: Span { - start: 139, - end: 142, - }, }, ty: Type { value: I16, - span: Span { - start: 144, - end: 147, - }, }, id: Id { value: 8, - span: Span { - start: 148, - end: 150, - }, - }, - span: Span { - start: 139, - end: 150, }, }, NamedField { @@ -278,28 +146,12 @@ Schema { ), name: Name { value: "f09", - span: Span { - start: 156, - end: 159, - }, }, ty: Type { value: I32, - span: Span { - start: 161, - end: 164, - }, }, id: Id { value: 9, - span: Span { - start: 165, - end: 167, - }, - }, - span: Span { - start: 156, - end: 167, }, }, NamedField { @@ -308,28 +160,12 @@ Schema { ), name: Name { value: "f10", - span: Span { - start: 173, - end: 176, - }, }, ty: Type { value: I64, - span: Span { - start: 178, - end: 181, - }, }, id: Id { value: 10, - span: Span { - start: 182, - end: 185, - }, - }, - span: Span { - start: 173, - end: 185, }, }, NamedField { @@ -338,28 +174,12 @@ Schema { ), name: Name { value: "f11", - span: Span { - start: 191, - end: 194, - }, }, ty: Type { value: I128, - span: Span { - start: 196, - end: 200, - }, }, id: Id { value: 11, - span: Span { - start: 201, - end: 204, - }, - }, - span: Span { - start: 191, - end: 204, }, }, NamedField { @@ -368,28 +188,12 @@ Schema { ), name: Name { value: "f12", - span: Span { - start: 210, - end: 213, - }, }, ty: Type { value: F32, - span: Span { - start: 215, - end: 218, - }, }, id: Id { value: 12, - span: Span { - start: 219, - end: 222, - }, - }, - span: Span { - start: 210, - end: 222, }, }, NamedField { @@ -398,28 +202,12 @@ Schema { ), name: Name { value: "f13", - span: Span { - start: 228, - end: 231, - }, }, ty: Type { value: F64, - span: Span { - start: 233, - end: 236, - }, }, id: Id { value: 13, - span: Span { - start: 237, - end: 240, - }, - }, - span: Span { - start: 228, - end: 240, }, }, NamedField { @@ -428,28 +216,12 @@ Schema { ), name: Name { value: "f14", - span: Span { - start: 246, - end: 249, - }, }, ty: Type { value: String, - span: Span { - start: 251, - end: 257, - }, }, id: Id { value: 14, - span: Span { - start: 258, - end: 261, - }, - }, - span: Span { - start: 246, - end: 261, }, }, NamedField { @@ -458,28 +230,12 @@ Schema { ), name: Name { value: "f15", - span: Span { - start: 267, - end: 270, - }, }, ty: Type { value: StringRef, - span: Span { - start: 272, - end: 279, - }, }, id: Id { value: 15, - span: Span { - start: 280, - end: 283, - }, - }, - span: Span { - start: 267, - end: 283, }, }, NamedField { @@ -488,28 +244,12 @@ Schema { ), name: Name { value: "f16", - span: Span { - start: 289, - end: 292, - }, }, ty: Type { value: Bytes, - span: Span { - start: 294, - end: 299, - }, }, id: Id { value: 16, - span: Span { - start: 300, - end: 303, - }, - }, - span: Span { - start: 289, - end: 303, }, }, NamedField { @@ -518,28 +258,12 @@ Schema { ), name: Name { value: "f17", - span: Span { - start: 309, - end: 312, - }, }, ty: Type { value: BytesRef, - span: Span { - start: 314, - end: 320, - }, }, id: Id { value: 17, - span: Span { - start: 321, - end: 324, - }, - }, - span: Span { - start: 309, - end: 324, }, }, NamedField { @@ -548,28 +272,12 @@ Schema { ), name: Name { value: "f18", - span: Span { - start: 330, - end: 333, - }, }, ty: Type { value: BoxString, - span: Span { - start: 335, - end: 346, - }, }, id: Id { value: 18, - span: Span { - start: 347, - end: 350, - }, - }, - span: Span { - start: 330, - end: 350, }, }, NamedField { @@ -578,28 +286,12 @@ Schema { ), name: Name { value: "f19", - span: Span { - start: 356, - end: 359, - }, }, ty: Type { value: BoxBytes, - span: Span { - start: 361, - end: 371, - }, }, id: Id { value: 19, - span: Span { - start: 372, - end: 375, - }, - }, - span: Span { - start: 356, - end: 375, }, }, NamedField { @@ -608,52 +300,24 @@ Schema { ), name: Name { value: "f20", - span: Span { - start: 381, - end: 384, - }, }, ty: Type { value: Tuple( [ Type { value: U32, - span: Span { - start: 387, - end: 390, - }, }, Type { value: U32, - span: Span { - start: 392, - end: 395, - }, }, Type { value: U32, - span: Span { - start: 397, - end: 400, - }, }, ], ), - span: Span { - start: 386, - end: 401, - }, }, id: Id { value: 20, - span: Span { - start: 402, - end: 405, - }, - }, - span: Span { - start: 381, - end: 405, }, }, NamedField { @@ -662,37 +326,17 @@ Schema { ), name: Name { value: "f21", - span: Span { - start: 411, - end: 414, - }, }, ty: Type { value: Array( Type { value: U32, - span: Span { - start: 417, - end: 420, - }, }, 12, ), - span: Span { - start: 416, - end: 425, - }, }, id: Id { value: 21, - span: Span { - start: 426, - end: 429, - }, - }, - span: Span { - start: 411, - end: 429, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@types_generic.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@types_generic.stef.snap index 730fcad..9ff87e4 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@types_generic.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@types_generic.stef.snap @@ -22,10 +22,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 7, - end: 13, - }, }, generics: Generics( [], @@ -38,36 +34,16 @@ Schema { ), name: Name { value: "f1", - span: Span { - start: 20, - end: 22, - }, }, ty: Type { value: Vec( Type { value: U32, - span: Span { - start: 28, - end: 31, - }, }, ), - span: Span { - start: 24, - end: 32, - }, }, id: Id { value: 1, - span: Span { - start: 33, - end: 35, - }, - }, - span: Span { - start: 20, - end: 35, }, }, NamedField { @@ -76,45 +52,21 @@ Schema { ), name: Name { value: "f2", - span: Span { - start: 41, - end: 43, - }, }, ty: Type { value: HashMap( ( Type { value: U32, - span: Span { - start: 54, - end: 57, - }, }, Type { value: String, - span: Span { - start: 59, - end: 65, - }, }, ), ), - span: Span { - start: 45, - end: 66, - }, }, id: Id { value: 2, - span: Span { - start: 67, - end: 69, - }, - }, - span: Span { - start: 41, - end: 69, }, }, NamedField { @@ -123,36 +75,16 @@ Schema { ), name: Name { value: "f3", - span: Span { - start: 75, - end: 77, - }, }, ty: Type { value: HashSet( Type { value: U32, - span: Span { - start: 88, - end: 91, - }, }, ), - span: Span { - start: 79, - end: 92, - }, }, id: Id { value: 3, - span: Span { - start: 93, - end: 95, - }, - }, - span: Span { - start: 75, - end: 95, }, }, NamedField { @@ -161,36 +93,16 @@ Schema { ), name: Name { value: "f4", - span: Span { - start: 101, - end: 103, - }, }, ty: Type { value: Option( Type { value: U32, - span: Span { - start: 112, - end: 115, - }, }, ), - span: Span { - start: 105, - end: 116, - }, }, id: Id { value: 4, - span: Span { - start: 117, - end: 119, - }, - }, - span: Span { - start: 101, - end: 119, }, }, NamedField { @@ -199,36 +111,16 @@ Schema { ), name: Name { value: "f5", - span: Span { - start: 125, - end: 127, - }, }, ty: Type { value: NonZero( Type { value: U32, - span: Span { - start: 138, - end: 141, - }, }, ), - span: Span { - start: 129, - end: 142, - }, }, id: Id { value: 5, - span: Span { - start: 143, - end: 145, - }, - }, - span: Span { - start: 125, - end: 145, }, }, ], @@ -245,10 +137,6 @@ Schema { ), name: Name { value: "SampleUnnamed", - span: Span { - start: 157, - end: 170, - }, }, generics: Generics( [], @@ -260,27 +148,11 @@ Schema { value: Vec( Type { value: U32, - span: Span { - start: 180, - end: 183, - }, }, ), - span: Span { - start: 176, - end: 184, - }, }, id: Id { value: 1, - span: Span { - start: 185, - end: 187, - }, - }, - span: Span { - start: 171, - end: 187, }, }, UnnamedField { @@ -289,35 +161,15 @@ Schema { ( Type { value: U32, - span: Span { - start: 202, - end: 205, - }, }, Type { value: String, - span: Span { - start: 207, - end: 213, - }, }, ), ), - span: Span { - start: 193, - end: 214, - }, }, id: Id { value: 2, - span: Span { - start: 215, - end: 217, - }, - }, - span: Span { - start: 188, - end: 217, }, }, UnnamedField { @@ -325,27 +177,11 @@ Schema { value: HashSet( Type { value: U32, - span: Span { - start: 232, - end: 235, - }, }, ), - span: Span { - start: 223, - end: 236, - }, }, id: Id { value: 3, - span: Span { - start: 237, - end: 239, - }, - }, - span: Span { - start: 218, - end: 239, }, }, UnnamedField { @@ -353,27 +189,11 @@ Schema { value: Option( Type { value: U32, - span: Span { - start: 252, - end: 255, - }, }, ), - span: Span { - start: 245, - end: 256, - }, }, id: Id { value: 4, - span: Span { - start: 257, - end: 259, - }, - }, - span: Span { - start: 240, - end: 259, }, }, UnnamedField { @@ -381,27 +201,11 @@ Schema { value: NonZero( Type { value: U32, - span: Span { - start: 274, - end: 277, - }, }, ), - span: Span { - start: 265, - end: 278, - }, }, id: Id { value: 5, - span: Span { - start: 279, - end: 281, - }, - }, - span: Span { - start: 260, - end: 281, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@types_nested.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@types_nested.stef.snap index 284b37c..d8d8741 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@types_nested.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@types_nested.stef.snap @@ -22,10 +22,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 7, - end: 13, - }, }, generics: Generics( [], @@ -38,10 +34,6 @@ Schema { ), name: Name { value: "value", - span: Span { - start: 20, - end: 25, - }, }, ty: Type { value: Vec( @@ -54,53 +46,21 @@ Schema { ( Type { value: I64, - span: Span { - start: 56, - end: 59, - }, }, Type { value: BoxString, - span: Span { - start: 61, - end: 72, - }, }, ), ), - span: Span { - start: 47, - end: 73, - }, }, ), - span: Span { - start: 38, - end: 74, - }, }, ), - span: Span { - start: 31, - end: 75, - }, }, ), - span: Span { - start: 27, - end: 76, - }, }, id: Id { value: 1, - span: Span { - start: 77, - end: 79, - }, - }, - span: Span { - start: 20, - end: 79, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@types_non_zero.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@types_non_zero.stef.snap index f8750ce..b4778e0 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@types_non_zero.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@types_non_zero.stef.snap @@ -22,10 +22,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 7, - end: 13, - }, }, generics: Generics( [], @@ -38,36 +34,16 @@ Schema { ), name: Name { value: "f01", - span: Span { - start: 20, - end: 23, - }, }, ty: Type { value: NonZero( Type { value: U8, - span: Span { - start: 34, - end: 36, - }, }, ), - span: Span { - start: 25, - end: 37, - }, }, id: Id { value: 1, - span: Span { - start: 38, - end: 40, - }, - }, - span: Span { - start: 20, - end: 40, }, }, NamedField { @@ -76,36 +52,16 @@ Schema { ), name: Name { value: "f02", - span: Span { - start: 46, - end: 49, - }, }, ty: Type { value: NonZero( Type { value: U16, - span: Span { - start: 60, - end: 63, - }, }, ), - span: Span { - start: 51, - end: 64, - }, }, id: Id { value: 2, - span: Span { - start: 65, - end: 67, - }, - }, - span: Span { - start: 46, - end: 67, }, }, NamedField { @@ -114,36 +70,16 @@ Schema { ), name: Name { value: "f03", - span: Span { - start: 73, - end: 76, - }, }, ty: Type { value: NonZero( Type { value: U32, - span: Span { - start: 87, - end: 90, - }, }, ), - span: Span { - start: 78, - end: 91, - }, }, id: Id { value: 3, - span: Span { - start: 92, - end: 94, - }, - }, - span: Span { - start: 73, - end: 94, }, }, NamedField { @@ -152,36 +88,16 @@ Schema { ), name: Name { value: "f04", - span: Span { - start: 100, - end: 103, - }, }, ty: Type { value: NonZero( Type { value: U64, - span: Span { - start: 114, - end: 117, - }, }, ), - span: Span { - start: 105, - end: 118, - }, }, id: Id { value: 4, - span: Span { - start: 119, - end: 121, - }, - }, - span: Span { - start: 100, - end: 121, }, }, NamedField { @@ -190,36 +106,16 @@ Schema { ), name: Name { value: "f05", - span: Span { - start: 127, - end: 130, - }, }, ty: Type { value: NonZero( Type { value: U128, - span: Span { - start: 141, - end: 145, - }, }, ), - span: Span { - start: 132, - end: 146, - }, }, id: Id { value: 5, - span: Span { - start: 147, - end: 149, - }, - }, - span: Span { - start: 127, - end: 149, }, }, NamedField { @@ -228,36 +124,16 @@ Schema { ), name: Name { value: "f06", - span: Span { - start: 155, - end: 158, - }, }, ty: Type { value: NonZero( Type { value: I8, - span: Span { - start: 169, - end: 171, - }, }, ), - span: Span { - start: 160, - end: 172, - }, }, id: Id { value: 6, - span: Span { - start: 173, - end: 175, - }, - }, - span: Span { - start: 155, - end: 175, }, }, NamedField { @@ -266,36 +142,16 @@ Schema { ), name: Name { value: "f07", - span: Span { - start: 181, - end: 184, - }, }, ty: Type { value: NonZero( Type { value: I16, - span: Span { - start: 195, - end: 198, - }, }, ), - span: Span { - start: 186, - end: 199, - }, }, id: Id { value: 7, - span: Span { - start: 200, - end: 202, - }, - }, - span: Span { - start: 181, - end: 202, }, }, NamedField { @@ -304,36 +160,16 @@ Schema { ), name: Name { value: "f08", - span: Span { - start: 208, - end: 211, - }, }, ty: Type { value: NonZero( Type { value: I32, - span: Span { - start: 222, - end: 225, - }, }, ), - span: Span { - start: 213, - end: 226, - }, }, id: Id { value: 8, - span: Span { - start: 227, - end: 229, - }, - }, - span: Span { - start: 208, - end: 229, }, }, NamedField { @@ -342,36 +178,16 @@ Schema { ), name: Name { value: "f09", - span: Span { - start: 235, - end: 238, - }, }, ty: Type { value: NonZero( Type { value: I64, - span: Span { - start: 249, - end: 252, - }, }, ), - span: Span { - start: 240, - end: 253, - }, }, id: Id { value: 9, - span: Span { - start: 254, - end: 256, - }, - }, - span: Span { - start: 235, - end: 256, }, }, NamedField { @@ -380,36 +196,16 @@ Schema { ), name: Name { value: "f10", - span: Span { - start: 262, - end: 265, - }, }, ty: Type { value: NonZero( Type { value: I128, - span: Span { - start: 276, - end: 280, - }, }, ), - span: Span { - start: 267, - end: 281, - }, }, id: Id { value: 10, - span: Span { - start: 282, - end: 285, - }, - }, - span: Span { - start: 262, - end: 285, }, }, NamedField { @@ -418,36 +214,16 @@ Schema { ), name: Name { value: "f11", - span: Span { - start: 291, - end: 294, - }, }, ty: Type { value: NonZero( Type { value: String, - span: Span { - start: 305, - end: 311, - }, }, ), - span: Span { - start: 296, - end: 312, - }, }, id: Id { value: 11, - span: Span { - start: 313, - end: 316, - }, - }, - span: Span { - start: 291, - end: 316, }, }, NamedField { @@ -456,36 +232,16 @@ Schema { ), name: Name { value: "f12", - span: Span { - start: 322, - end: 325, - }, }, ty: Type { value: NonZero( Type { value: Bytes, - span: Span { - start: 336, - end: 341, - }, }, ), - span: Span { - start: 327, - end: 342, - }, }, id: Id { value: 12, - span: Span { - start: 343, - end: 346, - }, - }, - span: Span { - start: 322, - end: 346, }, }, NamedField { @@ -494,10 +250,6 @@ Schema { ), name: Name { value: "f13", - span: Span { - start: 352, - end: 355, - }, }, ty: Type { value: NonZero( @@ -505,33 +257,13 @@ Schema { value: Vec( Type { value: String, - span: Span { - start: 370, - end: 376, - }, }, ), - span: Span { - start: 366, - end: 377, - }, }, ), - span: Span { - start: 357, - end: 378, - }, }, id: Id { value: 13, - span: Span { - start: 379, - end: 382, - }, - }, - span: Span { - start: 352, - end: 382, }, }, NamedField { @@ -540,10 +272,6 @@ Schema { ), name: Name { value: "f14", - span: Span { - start: 388, - end: 391, - }, }, ty: Type { value: NonZero( @@ -552,41 +280,17 @@ Schema { ( Type { value: String, - span: Span { - start: 411, - end: 417, - }, }, Type { value: Bytes, - span: Span { - start: 419, - end: 424, - }, }, ), ), - span: Span { - start: 402, - end: 425, - }, }, ), - span: Span { - start: 393, - end: 426, - }, }, id: Id { value: 14, - span: Span { - start: 427, - end: 430, - }, - }, - span: Span { - start: 388, - end: 430, }, }, NamedField { @@ -595,10 +299,6 @@ Schema { ), name: Name { value: "f15", - span: Span { - start: 436, - end: 439, - }, }, ty: Type { value: NonZero( @@ -606,33 +306,13 @@ Schema { value: HashSet( Type { value: String, - span: Span { - start: 459, - end: 465, - }, }, ), - span: Span { - start: 450, - end: 466, - }, }, ), - span: Span { - start: 441, - end: 467, - }, }, id: Id { value: 15, - span: Span { - start: 468, - end: 471, - }, - }, - span: Span { - start: 436, - end: 471, }, }, ], diff --git a/crates/stef-parser/tests/snapshots/parser__parse@types_ref.stef.snap b/crates/stef-parser/tests/snapshots/parser__parse@types_ref.stef.snap index 3559f56..b92f04b 100644 --- a/crates/stef-parser/tests/snapshots/parser__parse@types_ref.stef.snap +++ b/crates/stef-parser/tests/snapshots/parser__parse@types_ref.stef.snap @@ -22,10 +22,6 @@ Schema { ), name: Name { value: "Sample", - span: Span { - start: 7, - end: 13, - }, }, generics: Generics( [], @@ -38,10 +34,6 @@ Schema { ), name: Name { value: "basic", - span: Span { - start: 20, - end: 25, - }, }, ty: Type { value: External( @@ -49,29 +41,13 @@ Schema { path: [], name: Name { value: "Test123", - span: Span { - start: 27, - end: 34, - }, }, generics: [], }, ), - span: Span { - start: 27, - end: 34, - }, }, id: Id { value: 1, - span: Span { - start: 35, - end: 37, - }, - }, - span: Span { - start: 20, - end: 37, }, }, NamedField { @@ -80,10 +56,6 @@ Schema { ), name: Name { value: "with_generics", - span: Span { - start: 43, - end: 56, - }, }, ty: Type { value: External( @@ -91,44 +63,20 @@ Schema { path: [], name: Name { value: "KeyValue", - span: Span { - start: 58, - end: 66, - }, }, generics: [ Type { value: U32, - span: Span { - start: 67, - end: 70, - }, }, Type { value: Bool, - span: Span { - start: 72, - end: 76, - }, }, ], }, ), - span: Span { - start: 58, - end: 77, - }, }, id: Id { value: 2, - span: Span { - start: 78, - end: 80, - }, - }, - span: Span { - start: 43, - end: 80, }, }, ], @@ -145,10 +93,6 @@ Schema { ), name: Name { value: "Test123", - span: Span { - start: 90, - end: 97, - }, }, generics: Generics( [], @@ -160,22 +104,10 @@ Schema { ), name: Name { value: "Value", - span: Span { - start: 104, - end: 109, - }, }, fields: Unit, id: Id { value: 1, - span: Span { - start: 110, - end: 112, - }, - }, - span: Span { - start: 104, - end: 112, }, }, ], @@ -191,26 +123,14 @@ Schema { ), name: Name { value: "KeyValue", - span: Span { - start: 124, - end: 132, - }, }, generics: Generics( [ Name { value: "K", - span: Span { - start: 133, - end: 134, - }, }, Name { value: "V", - span: Span { - start: 136, - end: 137, - }, }, ], ), @@ -222,10 +142,6 @@ Schema { ), name: Name { value: "key", - span: Span { - start: 145, - end: 148, - }, }, ty: Type { value: External( @@ -233,29 +149,13 @@ Schema { path: [], name: Name { value: "K", - span: Span { - start: 150, - end: 151, - }, }, generics: [], }, ), - span: Span { - start: 150, - end: 151, - }, }, id: Id { value: 1, - span: Span { - start: 152, - end: 154, - }, - }, - span: Span { - start: 145, - end: 154, }, }, NamedField { @@ -264,10 +164,6 @@ Schema { ), name: Name { value: "value", - span: Span { - start: 160, - end: 165, - }, }, ty: Type { value: External( @@ -275,29 +171,13 @@ Schema { path: [], name: Name { value: "V", - span: Span { - start: 167, - end: 168, - }, }, generics: [], }, ), - span: Span { - start: 167, - end: 168, - }, }, id: Id { value: 2, - span: Span { - start: 169, - end: 171, - }, - }, - span: Span { - start: 160, - end: 171, }, }, ],