diff --git a/crates/swc_css_ast/src/selector.rs b/crates/swc_css_ast/src/selector.rs index 458f36b620d9..d051fa6430be 100644 --- a/crates/swc_css_ast/src/selector.rs +++ b/crates/swc_css_ast/src/selector.rs @@ -1,6 +1,7 @@ use crate::{Ident, Str, Tokens}; use is_macro::Is; use string_enum::StringEnum; +use swc_atoms::JsWord; use swc_common::{ast_node, EqIgnoreSpan, Span}; #[ast_node("SelectorList")] @@ -130,12 +131,48 @@ pub struct AttrSelector { pub modifier: Option, } +#[ast_node] +#[derive(Is)] +pub enum PseudoSelectorChildren { + #[tag("Nth")] + Nth(Nth), + + #[tag("Tokens")] + Tokens(Tokens), +} + +#[ast_node("Nth")] +pub struct Nth { + pub span: Span, + pub nth: NthValue, + pub selector_list: Option, +} + +#[ast_node("AnPlusB")] +pub struct AnPlusB { + pub span: Span, + pub a: Option, + pub a_raw: Option, + pub b: Option, + pub b_raw: Option, +} + +#[ast_node] +#[derive(Is)] +pub enum NthValue { + #[tag("AnPlusB")] + AnPlusB(AnPlusB), + + #[tag("Ident")] + Ident(Ident), +} + #[ast_node("PseudoSelector")] pub struct PseudoSelector { pub span: Span, pub is_element: bool, pub name: Ident, - pub args: Tokens, + pub children: Option, } #[ast_node("IdSelector")] diff --git a/crates/swc_css_codegen/src/lib.rs b/crates/swc_css_codegen/src/lib.rs index 24bd8df82a0c..4506b10e0037 100644 --- a/crates/swc_css_codegen/src/lib.rs +++ b/crates/swc_css_codegen/src/lib.rs @@ -788,18 +788,56 @@ where punct!(self, "]"); } + #[emitter] + fn emit_nth(&mut self, n: &Nth) -> Result { + emit!(self, n.nth); + + if n.selector_list.is_some() { + emit!(self, n.selector_list); + } + } + + #[emitter] + fn emit_an_plus_b(&mut self, n: &AnPlusB) -> Result { + if let Some(a_raw) = &n.a_raw { + self.wr.write_raw(Some(n.span), a_raw)?; + punct!(self, "n"); + } + + if let Some(b_raw) = &n.b_raw { + self.wr.write_raw(Some(n.span), b_raw)?; + } + } + + #[emitter] + fn emit_nth_value(&mut self, n: &NthValue) -> Result { + match n { + NthValue::AnPlusB(n) => emit!(self, n), + NthValue::Ident(n) => emit!(self, n), + } + } + + #[emitter] + fn emit_pseudo_selector_children(&mut self, n: &PseudoSelectorChildren) -> Result { + match n { + PseudoSelectorChildren::Nth(n) => emit!(self, n), + PseudoSelectorChildren::Tokens(n) => emit!(self, n), + } + } + #[emitter] fn emit_pseudo_selector(&mut self, n: &PseudoSelector) -> Result { punct!(self, ":"); + if n.is_element { punct!(self, ":"); } emit!(self, n.name); - if !n.args.tokens.is_empty() { + if n.children.is_some() { punct!(self, "("); - emit!(self, n.args); + emit!(self, n.children); punct!(self, ")"); } } diff --git a/crates/swc_css_parser/src/error.rs b/crates/swc_css_parser/src/error.rs index 3388984e0d6e..8de6810817b0 100644 --- a/crates/swc_css_parser/src/error.rs +++ b/crates/swc_css_parser/src/error.rs @@ -49,6 +49,7 @@ impl Error { ErrorKind::InvalidMediaQuery => "Invalid media query".into(), ErrorKind::UnknownAtRuleNotTerminated => "Unknown @rule is not terminated".into(), ErrorKind::InvalidDeclarationValue => "Expected a property value".into(), + ErrorKind::InvalidAnPlusBMicrosyntax => "Invalid An+B microsyntax".into(), }; handler.struct_span_err(self.inner.0, &msg) } @@ -80,6 +81,7 @@ pub enum ErrorKind { InvalidSupportQuery, InvalidKeyframeSelector, InvalidMediaQuery, + InvalidAnPlusBMicrosyntax, UnknownAtRuleNotTerminated, } diff --git a/crates/swc_css_parser/src/parser/selector/mod.rs b/crates/swc_css_parser/src/parser/selector/mod.rs index 4eee26986d4d..d0641810f669 100644 --- a/crates/swc_css_parser/src/parser/selector/mod.rs +++ b/crates/swc_css_parser/src/parser/selector/mod.rs @@ -408,6 +408,279 @@ where }) } + fn parse_nth(&mut self) -> PResult { + self.input.skip_ws()?; + + let span = self.input.cur_span()?; + let nth = match cur!(self) { + // odd | even + Token::Ident { value, .. } + if &(*value).to_ascii_lowercase() == "odd" + || &(*value).to_ascii_lowercase() == "even" => + { + let name = bump!(self); + let names = match name { + Token::Ident { value, raw } => (value, raw), + _ => { + unreachable!(); + } + }; + + NthValue::Ident(Ident { + span: span!(self, span.lo), + value: names.0.into(), + raw: names.1.into(), + }) + } + // + Token::Num { .. } => { + let num = match bump!(self) { + Token::Num { value, raw } => (value, raw), + _ => { + unreachable!(); + } + }; + + NthValue::AnPlusB(AnPlusB { + span: span!(self, span.lo), + a: None, + a_raw: None, + b: Some(num.0 as i32), + b_raw: Some(num.1), + }) + } + // '+'? n + // '+'? + // '+'? n + // '+'? n- + // '+'? n ['+' | '-'] + // -n + // + // -n + // -n- + // -n ['+' | '-'] + Token::Ident { .. } | Token::Delim { value: '+' } | + // + // + // + // + // ['+' | '-'] + Token::Dimension { .. } => { + let mut has_plus_sign = false; + + // '+' n + match cur!(self) { + Token::Delim { value: '+' } => { + let peeked = self.input.peek()?; + + match peeked { + Some(Token::Ident { .. }) => { + bump!(self); + has_plus_sign = true; + } + _ => {} + } + } + _ => {} + } + + let a; + let a_raw; + + let n_value; + + match cur!(self) { + Token::Ident { .. } => { + let ident_value = match bump!(self) { + Token::Ident { value, .. } => value, + _ => { + unreachable!(); + } + }; + + let has_minus_sign = ident_value.chars().nth(0) == Some('-'); + let n_char = if has_minus_sign { ident_value.chars().nth(1) } else { ident_value.chars().nth(0) }; + + if n_char != Some('n') && n_char != Some('N') { + return Err(Error::new( + span, + ErrorKind::Expected("'n' character in Ident"), + )); + } + + a = Some(if has_minus_sign { -1 } else {1 }); + a_raw = Some((if has_plus_sign { "+" } else if has_minus_sign { "-" } else { "" }).into()); + + n_value = if has_minus_sign { ident_value.clone()[1..].to_string() } else { ident_value.clone().to_string() }; + } + Token::Dimension { .. } => { + let dimension = match bump!(self) { + Token::Dimension { value, raw_value, unit, .. } => (value, raw_value, unit), + _ => { + unreachable!(); + } + }; + + let n_char = dimension.2.chars().nth(0); + + if n_char != Some('n') && n_char != Some('N') { + return Err(Error::new( + span, + ErrorKind::Expected("'n' character in Ident"), + )); + } + + a = Some(dimension.0 as i32); + a_raw = Some(dimension.1.into()); + + n_value = (*dimension.2).to_string(); + } + _ => { + return Err(Error::new(span, ErrorKind::InvalidAnPlusBMicrosyntax)); + } + }; + + self.input.skip_ws()?; + + let mut b = None; + let mut b_raw = None; + + let dash_after_n = n_value.chars().nth(1); + + match cur!(self) { + // '+'? n + // -n + // + Token::Num { .. } if dash_after_n == None => { + let num = match bump!(self) { + Token::Num { value, raw, .. } => (value, raw), + _ => { + unreachable!(); + } + }; + + b = Some(num.0 as i32); + b_raw = Some(num.1); + } + // -n- + // '+'? n- + // + Token::Num { .. } if dash_after_n == Some('-') => { + let num = match bump!(self) { + Token::Num { value, raw, .. } => (value, raw), + _ => { + unreachable!(); + } + }; + + b = Some(-1 * num.0 as i32); + + let mut b_raw_str = String::new(); + + b_raw_str.push_str("- "); + b_raw_str.push_str(&num.1); + b_raw = Some(b_raw_str.into()); + } + // '+'? n ['+' | '-'] + // -n ['+' | '-'] + // ['+' | '-'] + Token::Delim { value: '-', .. } | Token::Delim { value: '+', .. } => { + let (b_sign, b_sign_raw) = match bump!(self) { + Token::Delim { value, .. } => (if value == '-' { -1 } else { 1 }, value), + _ => { + unreachable!(); + } + }; + + self.input.skip_ws()?; + + let num = match bump!(self) { + Token::Num { value, raw, .. } => (value, raw), + _ => { + return Err(Error::new(span, ErrorKind::Expected("Num"))); + } + }; + + b = Some(b_sign * num.0 as i32); + + let mut b_raw_str = String::new(); + + b_raw_str.push(' '); + b_raw_str.push(b_sign_raw); + b_raw_str.push(' '); + b_raw_str.push_str(&num.1); + b_raw = Some(b_raw_str.into()); + } + // '+'? + // + // + _ if dash_after_n == Some('-') => { + let b_from_ident = &n_value[2..]; + let parsed: i32 = lexical::parse(b_from_ident).unwrap_or_else(|err| { + unreachable!( + "failed to parse `{}` using lexical: {:?}", + b_from_ident, err + ) + }); + + b = Some(-1 * parsed); + + let mut b_raw_str = String::new(); + + b_raw_str.push('-'); + b_raw_str.push_str(b_from_ident); + + b_raw = Some(b_raw_str.into()); + } + // '+'? n + // -n + _ if dash_after_n == None => {} + _ => { + return Err(Error::new(span, ErrorKind::InvalidAnPlusBMicrosyntax)); + } + } + + NthValue::AnPlusB(AnPlusB { + span: span!(self, span.lo), + a, + a_raw, + b, + b_raw, + }) + } + _ => { + return Err(Error::new(span, ErrorKind::InvalidAnPlusBMicrosyntax)); + } + }; + + let nth = Nth { + span: span!(self, span.lo), + nth, + selector_list: None, + }; + + self.input.skip_ws()?; + + // match cur!(self) { + // Token::Ident { value, .. } => { + // match &*value.to_ascii_lowercase() { + // "of" => { + // bump!(self); + // + // self.input.skip_ws()?; + // + // // TODO: fix me + // selector_list = Some(self.parse_selectors()?); + // } + // _ => {} + // } + // } + // _ => {} + // } + + Ok(nth) + } + fn parse_pseudo_class_selector(&mut self) -> PResult { let span = self.input.cur_span()?; @@ -415,13 +688,28 @@ where if is!(self, Function) { let fn_span = self.input.cur_span()?; - let value = bump!(self); - let values = match value { + let name = bump!(self); + let names = match name { Token::Function { value, raw } => (value, raw), _ => unreachable!(), }; - let args = self.parse_any_value(false)?; + let children = match &*names.0.to_ascii_lowercase() { + "nth-child" | "nth-last-child" | "nth-of-type" | "nth-last-of-type" => { + let state = self.input.state(); + let nth = self.parse_nth(); + + match nth { + Ok(nth) => PseudoSelectorChildren::Nth(nth), + Err(_) => { + self.input.reset(&state); + + PseudoSelectorChildren::Tokens(self.parse_any_value(false)?) + } + } + } + _ => PseudoSelectorChildren::Tokens(self.parse_any_value(false)?), + }; expect!(self, ")"); @@ -430,10 +718,10 @@ where is_element: false, name: Ident { span: Span::new(fn_span.lo, fn_span.hi - BytePos(1), Default::default()), - value: values.0, - raw: values.1, + value: names.0, + raw: names.1, }, - args, + children: Some(children), }); } else if is!(self, Ident) { let ident_span = self.input.cur_span()?; @@ -451,7 +739,7 @@ where value: values.0, raw: values.1, }, - args: Default::default(), + children: None, }); } diff --git a/crates/swc_css_parser/tests/fixture.rs b/crates/swc_css_parser/tests/fixture.rs index 538fd4ad0890..70ac582d3422 100644 --- a/crates/swc_css_parser/tests/fixture.rs +++ b/crates/swc_css_parser/tests/fixture.rs @@ -16,30 +16,32 @@ impl Visit for AssertValid { fn visit_pseudo_selector(&mut self, s: &PseudoSelector, _: &dyn Node) { s.visit_children_with(self); - if s.args.tokens.is_empty() { - return; - } + if let Some(PseudoSelectorChildren::Tokens(args)) = &s.children { + if args.tokens.is_empty() { + return; + } - match &s.args.tokens[0].token { - Token::Colon | Token::Num { .. } => return, - _ => {} - } + match &args.tokens[0].token { + Token::Colon | Token::Num { .. } => return, + _ => {} + } - let mut errors = vec![]; + let mut errors = vec![]; - let _selectors: SelectorList = parse_tokens( - &s.args, - ParserConfig { - parse_values: true, + let _selectors: SelectorList = parse_tokens( + &args, + ParserConfig { + parse_values: true, - ..Default::default() - }, - &mut errors, - ) - .unwrap_or_else(|err| panic!("failed to parse tokens: {:?}\n{:?}", err, s.args)); + ..Default::default() + }, + &mut errors, + ) + .unwrap_or_else(|err| panic!("failed to parse tokens: {:?}\n{:?}", err, s.children)); - for err in errors { - panic!("{:?}", err); + for err in errors { + panic!("{:?}", err); + } } } } @@ -336,6 +338,8 @@ impl Visit for SpanVisualizer<'_> { mtd!(Num, visit_num); mtd!(PercentValue, visit_percent_value); mtd!(Declaration, visit_declaration); + mtd!(Nth, visit_nth); + mtd!(AnPlusB, visit_an_plus_b); mtd!(PseudoSelector, visit_pseudo_selector); mtd!(Rule, visit_rule); mtd!(Str, visit_str); diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/output.json index 75c8c2c3b509..cd86a91d8658 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/output.json @@ -75,15 +75,7 @@ "value": "before", "raw": "before" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null }, { "type": "PseudoSelector", @@ -103,15 +95,7 @@ "value": "after", "raw": "after" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null }, { "type": "PseudoSelector", @@ -131,15 +115,7 @@ "value": "selection", "raw": "selection" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null }, { "type": "PseudoSelector", @@ -159,15 +135,7 @@ "value": "first-line", "raw": "first-line" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null }, { "type": "PseudoSelector", @@ -187,15 +155,7 @@ "value": "first-letter", "raw": "first-letter" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/span.rust-debug index 67a1a138d61e..b5a9e11abb66 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | div::before::after::selection::first-line::first-letter {color:red} | ^^^^^^ -error: Tokens - error: SubclassSelector --> $DIR/tests/fixture/esbuild/misc/-GZJfOA9TK6La2KGGNgCkg/input.css:1:12 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/output.json index 9043c5ee6e9b..e763bfbd7e13 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/output.json @@ -75,15 +75,7 @@ "value": "after", "raw": "after" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/span.rust-debug index 1b051d334338..5532ebe54f4e 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | a:after { content: 'a\ b' } | ^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/2nNBhRWO2cNcBJf09zDxjw/input.css:1:9 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/output.json index e9afbafdc008..5d4a9c1647bf 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/output.json @@ -75,15 +75,7 @@ "value": "after", "raw": "after" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/span.rust-debug index 1acb20b2874a..22f260b51ed3 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | a:after { content: 'a\62 c' } | ^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/6kUhG0W7hwZxIuaCsZ7pHg/input.css:1:9 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/6s_VBuRPHbPiUrh1fWCR_Q/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/6s_VBuRPHbPiUrh1fWCR_Q/output.json index ce9c3960a4f3..5a35a179cfea 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/6s_VBuRPHbPiUrh1fWCR_Q/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/6s_VBuRPHbPiUrh1fWCR_Q/output.json @@ -57,7 +57,7 @@ "value": "pseudo", "raw": "pseudo" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 8, diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/output.json index 2bc5d163ab23..3487d670090f 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/output.json @@ -64,15 +64,7 @@ "value": "b", "raw": "b" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/span.rust-debug index 95ee793c9864..e9b618872fe4 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/span.rust-debug @@ -58,8 +58,6 @@ error: Ident 1 | &:b {} | ^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/Dl_KXhjnyR5RfRaNMKBEdw/input.css:1:5 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/output.json index 722216a6d4fe..82579baad225 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/output.json @@ -57,15 +57,7 @@ "value": "pseudo,class", "raw": "pseudo\\,class" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/span.rust-debug index dfd9b7cea4a3..e4c2bbbb3909 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/span.rust-debug @@ -52,8 +52,6 @@ error: Ident 1 | :pseudo\,class {} | ^^^^^^^^^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/Ft7g4H2gHwlEjiFMDwEkYQ/input.css:1:16 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/MvD7ThpMVIxU3dzF71Gpcg/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/MvD7ThpMVIxU3dzF71Gpcg/output.json index b991a2b7a64c..8fa3595225de 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/MvD7ThpMVIxU3dzF71Gpcg/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/MvD7ThpMVIxU3dzF71Gpcg/output.json @@ -57,7 +57,7 @@ "value": "b", "raw": "b" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 4, diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/output.json index 85bd3934edc4..bfb8a6ba948c 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/output.json @@ -75,15 +75,7 @@ "value": "after", "raw": "after" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/span.rust-debug index a8bdeeee00d2..7700fc002bff 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/span.rust-debug @@ -67,8 +67,6 @@ error: Ident 1 | a:after { content: 'a\ | ^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/O2EvcnNp_CVyX3xq5-eM-g/input.css:1:9 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/output.json index 5857297c335f..e14aebadbadc 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/output.json @@ -75,15 +75,7 @@ "value": "after", "raw": "after" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/span.rust-debug index f3832d885ece..d6c0bb00e4b7 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | a:after { content: '\invalid' } | ^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/Q_wA-fPw3o2m3R7gyWNxbQ/input.css:1:9 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/WQWdwW4B4hm60AQgxTU08Q/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/WQWdwW4B4hm60AQgxTU08Q/output.json index 9137382e2cb5..3f417ca4fbd7 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/WQWdwW4B4hm60AQgxTU08Q/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/WQWdwW4B4hm60AQgxTU08Q/output.json @@ -75,7 +75,7 @@ "value": "b", "raw": "b" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 5, diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/output.json index fcf21105c714..881c6bcc9558 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/output.json @@ -57,15 +57,7 @@ "value": "pseudo,class", "raw": "pseudo\\2c class" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/span.rust-debug index 2808fc54f7f3..255837b0a109 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/span.rust-debug @@ -52,8 +52,6 @@ error: Ident 1 | :pseudo\2c class {} | ^^^^^^^^^^^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/YUPpw78_zYmKpAkI2SzNsg/input.css:1:18 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/_d22bZcPKDgNEKSyJ2NRsQ/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/_d22bZcPKDgNEKSyJ2NRsQ/output.json index c9e1b5815eb2..91b1de1f5f0b 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/_d22bZcPKDgNEKSyJ2NRsQ/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/_d22bZcPKDgNEKSyJ2NRsQ/output.json @@ -75,7 +75,7 @@ "value": "b", "raw": "b" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 5, diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/_e6qpZBWfowEh1P3Wn3orA/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/_e6qpZBWfowEh1P3Wn3orA/output.json index cb1e07518137..94e541d6503c 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/_e6qpZBWfowEh1P3Wn3orA/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/_e6qpZBWfowEh1P3Wn3orA/output.json @@ -57,7 +57,7 @@ "value": "pseudo", "raw": "pseudo" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 8, diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/output.json index b1a2be41a540..38aea1e25632 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/output.json @@ -75,15 +75,7 @@ "value": "after", "raw": "after" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/span.rust-debug index 454a68c4b1cd..5248bdb88f99 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | a:after { content: '\1010101' } | ^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/cFk0V1dktTRk2wWOux0Y9A/input.css:1:9 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/d1BWbOHfSbCE8-_qEz-luA/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/d1BWbOHfSbCE8-_qEz-luA/output.json index 16a2cfae1202..1ee0d4d75348 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/d1BWbOHfSbCE8-_qEz-luA/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/d1BWbOHfSbCE8-_qEz-luA/output.json @@ -75,7 +75,7 @@ "value": "b", "raw": "b" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 4, diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/output.json index 8cdecaa028c5..8bad26ca6ea1 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/output.json @@ -75,15 +75,7 @@ "value": "after", "raw": "after" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/span.rust-debug index 6ac387fe61a2..73d975fe0c00 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | a:after { content: 'a\ b' } | ^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/d6iTYxGk5HHi4hIZcn73Bw/input.css:1:9 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/output.json index 9a82dcd8c463..8e13b234dd04 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/output.json @@ -75,15 +75,7 @@ "value": "b", "raw": "b" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/span.rust-debug index 87a618ff92be..f40ecdefb7c0 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | a/**/:b {} | ^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/jdLujY0rTP02e0KuCnvbvg/input.css:1:9 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/output.json index 0931af258d10..0675d819ab3f 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/output.json @@ -57,15 +57,7 @@ "value": "b", "raw": "b" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/span.rust-debug index 7c3e6d3184dc..4ec22b9feb2b 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/span.rust-debug @@ -52,8 +52,6 @@ error: Ident 1 | ::b {} | ^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/mTLdgh264Uoe84INHS3fAw/input.css:1:5 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/output.json index 6d170d49f555..33cc74d4cde2 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/output.json @@ -75,15 +75,7 @@ "value": "b", "raw": "b" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/span.rust-debug index 2549c5e00968..cb03f76b3f19 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | *::b {} | ^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/mnQPy45Xrp2Ze7IdrwV0Ow/input.css:1:6 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/output.json index c8c3f80672fb..5a8753e05327 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/output.json @@ -75,15 +75,7 @@ "value": "b", "raw": "b" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null }, { "type": "PseudoSelector", @@ -103,15 +95,7 @@ "value": "c", "raw": "c" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/span.rust-debug index e8d9bdd64662..5ae14c511ab4 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | a:b:c {} | ^ -error: Tokens - error: SubclassSelector --> $DIR/tests/fixture/esbuild/misc/pJGP-gxqsiFs_ruNrpY3bw/input.css:1:4 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/pLQn9swtbpZ-CVZMGw0EwA/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/pLQn9swtbpZ-CVZMGw0EwA/output.json index a25b711b4bb6..3431f1e500e6 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/pLQn9swtbpZ-CVZMGw0EwA/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/pLQn9swtbpZ-CVZMGw0EwA/output.json @@ -57,7 +57,7 @@ "value": "pseudo", "raw": "pseudo" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 8, diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/output.json index 84751f174087..b33f2ba223e1 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/output.json @@ -57,15 +57,7 @@ "value": "pseudoclass", "raw": "pseudocl\\61ss" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/span.rust-debug index cc9e9dd651e1..dc7c6d2a683b 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/span.rust-debug @@ -52,8 +52,6 @@ error: Ident 1 | :pseudocl\61ss {} | ^^^^^^^^^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/rGv8hpoRRBbCTlyQ-70xVw/input.css:1:16 | diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/output.json b/crates/swc_css_parser/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/output.json index 6ca570b1822d..d7c50302f793 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/output.json +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/output.json @@ -75,15 +75,7 @@ "value": "b", "raw": "b" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/span.rust-debug b/crates/swc_css_parser/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/span.rust-debug index a594d15ae036..1dee03764857 100644 --- a/crates/swc_css_parser/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/span.rust-debug @@ -64,8 +64,6 @@ error: Ident 1 | a::b {} | ^ -error: Tokens - error: Block --> $DIR/tests/fixture/esbuild/misc/sAlB53zm7iv9WuhRVKadHQ/input.css:1:6 | diff --git a/crates/swc_css_parser/tests/fixture/rome/selectors/output.json b/crates/swc_css_parser/tests/fixture/rome/selectors/output.json index 454e391ecf6f..54bbdc08e473 100644 --- a/crates/swc_css_parser/tests/fixture/rome/selectors/output.json +++ b/crates/swc_css_parser/tests/fixture/rome/selectors/output.json @@ -1089,28 +1089,26 @@ "value": "nth-last-of-type", "raw": "nth-last-of-type" }, - "args": { - "type": "Tokens", + "children": { + "type": "Nth", "span": { "start": 280, "end": 281, "ctxt": 0 }, - "tokens": [ - { - "span": { - "start": 280, - "end": 281, - "ctxt": 0 - }, - "token": { - "Num": { - "value": 2.0, - "raw": "2" - } - } - } - ] + "nth": { + "type": "AnPlusB", + "span": { + "start": 280, + "end": 281, + "ctxt": 0 + }, + "a": null, + "aRaw": null, + "b": 2, + "bRaw": "2" + }, + "selectorList": null } } ] @@ -1180,7 +1178,7 @@ "value": "lang", "raw": "lang" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 294, @@ -1304,7 +1302,7 @@ "value": "pseudo-elem", "raw": "pseudo-elem" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 321, @@ -1381,7 +1379,7 @@ "value": "pseudo-elem", "raw": "pseudo-elem" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 342, diff --git a/crates/swc_css_parser/tests/fixture/rome/selectors/span.rust-debug b/crates/swc_css_parser/tests/fixture/rome/selectors/span.rust-debug index 32b5cf8a1aca..8b81c9623575 100644 --- a/crates/swc_css_parser/tests/fixture/rome/selectors/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/rome/selectors/span.rust-debug @@ -865,13 +865,13 @@ error: Ident 29 | p:nth-last-of-type(2) { | ^^^^^^^^^^^^^^^^ -error: Tokens +error: Nth --> $DIR/tests/fixture/rome/selectors/input.css:29:20 | 29 | p:nth-last-of-type(2) { | ^ -error: Num { value: 2.0, raw: Atom('2' type=inline) } +error: AnPlusB --> $DIR/tests/fixture/rome/selectors/input.css:29:20 | 29 | p:nth-last-of-type(2) { diff --git a/crates/swc_css_parser/tests/fixture/rome/values/output.json b/crates/swc_css_parser/tests/fixture/rome/values/output.json index 88e6d76ecb33..b017f7c92b28 100644 --- a/crates/swc_css_parser/tests/fixture/rome/values/output.json +++ b/crates/swc_css_parser/tests/fixture/rome/values/output.json @@ -75,15 +75,7 @@ "value": "before", "raw": "before" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/rome/values/span.rust-debug b/crates/swc_css_parser/tests/fixture/rome/values/span.rust-debug index ba384a61820f..f6a3eff8398a 100644 --- a/crates/swc_css_parser/tests/fixture/rome/values/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/rome/values/span.rust-debug @@ -74,8 +74,6 @@ error: Ident 1 | p::before { | ^^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/rome/values/input.css:1:11 | diff --git a/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/input.css b/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/input.css new file mode 100644 index 000000000000..89c8cbd4b619 --- /dev/null +++ b/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/input.css @@ -0,0 +1,86 @@ +:nth-child(2n+1) {} +:nth-child(2n +1) {} +:nth-child(2n + 1) {} +:nth-child(2n+ 1) {} +:nth-child(2n-1) {} +:nth-child(2n -1) {} +:nth-child(2n- 1) {} +:nth-child(2n - 1) {} +:nth-child(-2n+1) {} +:nth-child(-2n +1) {} +:nth-child(-2n + 1) {} +:nth-child(-2n+ 1) {} +:nth-child(-2n-1) {} +:nth-child(-2n -1) {} +:nth-child(-2n - 1) {} +:nth-child(+2n+1) {} +:nth-child(+2n +1) {} +:nth-child(+2n + 1) {} +:nth-child(+2n+ 1) {} +:nth-child(+2n-1) {} +:nth-child(+2n -1) {} +:nth-child(+2n- 1) {} +:nth-child(+2n - 1) {} +:nth-child(n+1) {} +:nth-child(n +1) {} +:nth-child(n + 1) {} +:nth-child(n+ 1) {} +:nth-child(n-1) {} +:nth-child(n -1) {} +:nth-child(n- 1) {} +:nth-child(n - 1) {} +:nth-child(-n+1) {} +:nth-child(-n +1) {} +:nth-child(-n + 1) {} +:nth-child(-n+ 1) {} +:nth-child(-n-1) {} +:nth-child(-n -1) {} +:nth-child(-n- 1) {} +:nth-child(-n - 1) {} +:nth-child(+n+1) {} +:nth-child(+n +1) {} +:nth-child(+n + 1) {} +:nth-child(+n+ 1) {} +:nth-child(+n-1) {} +:nth-child(+n -1) {} +:nth-child(+n- 1) {} +:nth-child(+n - 1) {} +:nth-child(n) {} +:nth-child(-n) {} +:nth-child(+n) {} +:nth-child(2n) {} +:nth-child(-2n) {} +:nth-child(+2n) {} +:nth-child(N) {} +:nth-child(-N) {} +:nth-child(+N) {} +:nth-child(2N) {} +:nth-child(-2N) {} +:nth-child(+2N) {} +:nth-child(1) {} +:nth-child(-1) {} +:nth-child(+1) {} +:nth-child(123456n-12345678) {} + +:Nth-Child(2n+1) {} +:NTH-CHILD(2n+1) {} + +:nth-child(odd) {} +:nth-child(ODD) {} +:nth-child(oDd) {} +:nth-child(even) {} +:nth-child(eVeN) {} +:nth-child(EVEN) {} + +:nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} +:nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + +:nth-child( 2n + 1 ) {} +:nth-last-child( +3n - 2 ) {} + +:nth-child(-2n+1) {} +:nth-last-child(2n+1) {} +:nth-of-type(2n+1) {} +:nth-last-of-type(2n+1) {} + +/*:nth-child(2n+1 of li,.test) {}*/ \ No newline at end of file diff --git a/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/output.json b/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/output.json new file mode 100644 index 000000000000..57632e95b0ee --- /dev/null +++ b/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/output.json @@ -0,0 +1,7029 @@ +{ + "type": "Stylesheet", + "span": { + "start": 0, + "end": 1727, + "ctxt": 0 + }, + "rules": [ + { + "type": "StyleRule", + "span": { + "start": 0, + "end": 19, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 0, + "end": 16, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 0, + "end": 16, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 0, + "end": 16, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 0, + "end": 16, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1, + "end": 10, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 11, + "end": 15, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 11, + "end": 15, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 17, + "end": 19, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 20, + "end": 40, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 20, + "end": 37, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 20, + "end": 37, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 20, + "end": 37, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 20, + "end": 37, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 21, + "end": 30, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 31, + "end": 36, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 31, + "end": 36, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 38, + "end": 40, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 41, + "end": 62, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 41, + "end": 59, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 41, + "end": 59, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 41, + "end": 59, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 41, + "end": 59, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 42, + "end": 51, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 52, + "end": 58, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 52, + "end": 58, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 60, + "end": 62, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 63, + "end": 83, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 63, + "end": 80, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 63, + "end": 80, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 63, + "end": 80, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 63, + "end": 80, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 64, + "end": 73, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 74, + "end": 79, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 74, + "end": 79, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 81, + "end": 83, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 84, + "end": 103, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 84, + "end": 100, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 84, + "end": 100, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 84, + "end": 100, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 84, + "end": 100, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 85, + "end": 94, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 95, + "end": 99, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 95, + "end": 99, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 101, + "end": 103, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 104, + "end": 124, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 104, + "end": 121, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 104, + "end": 121, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 104, + "end": 121, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 104, + "end": 121, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 105, + "end": 114, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 115, + "end": 120, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 115, + "end": 120, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 122, + "end": 124, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 125, + "end": 145, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 125, + "end": 142, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 125, + "end": 142, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 125, + "end": 142, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 125, + "end": 142, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 126, + "end": 135, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 136, + "end": 141, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 136, + "end": 141, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": -1, + "bRaw": "- 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 143, + "end": 145, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 146, + "end": 167, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 146, + "end": 164, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 146, + "end": 164, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 146, + "end": 164, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 146, + "end": 164, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 147, + "end": 156, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 157, + "end": 163, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 157, + "end": 163, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": -1, + "bRaw": " - 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 165, + "end": 167, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 168, + "end": 188, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 168, + "end": 185, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 168, + "end": 185, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 168, + "end": 185, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 168, + "end": 185, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 169, + "end": 178, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 179, + "end": 184, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 179, + "end": 184, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 186, + "end": 188, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 189, + "end": 210, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 189, + "end": 207, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 189, + "end": 207, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 189, + "end": 207, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 189, + "end": 207, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 190, + "end": 199, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 200, + "end": 206, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 200, + "end": 206, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 208, + "end": 210, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 211, + "end": 233, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 211, + "end": 230, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 211, + "end": 230, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 211, + "end": 230, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 211, + "end": 230, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 212, + "end": 221, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 222, + "end": 229, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 222, + "end": 229, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 231, + "end": 233, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 234, + "end": 255, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 234, + "end": 252, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 234, + "end": 252, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 234, + "end": 252, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 234, + "end": 252, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 235, + "end": 244, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 245, + "end": 251, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 245, + "end": 251, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 253, + "end": 255, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 256, + "end": 276, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 256, + "end": 273, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 256, + "end": 273, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 256, + "end": 273, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 256, + "end": 273, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 257, + "end": 266, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 267, + "end": 272, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 267, + "end": 272, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 274, + "end": 276, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 277, + "end": 298, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 277, + "end": 295, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 277, + "end": 295, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 277, + "end": 295, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 277, + "end": 295, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 278, + "end": 287, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 288, + "end": 294, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 288, + "end": 294, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 296, + "end": 298, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 299, + "end": 321, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 299, + "end": 318, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 299, + "end": 318, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 299, + "end": 318, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 299, + "end": 318, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 300, + "end": 309, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 310, + "end": 317, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 310, + "end": 317, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": -1, + "bRaw": " - 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 319, + "end": 321, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 322, + "end": 342, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 322, + "end": 339, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 322, + "end": 339, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 322, + "end": 339, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 322, + "end": 339, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 323, + "end": 332, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 333, + "end": 338, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 333, + "end": 338, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 340, + "end": 342, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 343, + "end": 364, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 343, + "end": 361, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 343, + "end": 361, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 343, + "end": 361, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 343, + "end": 361, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 344, + "end": 353, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 354, + "end": 360, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 354, + "end": 360, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 362, + "end": 364, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 365, + "end": 387, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 365, + "end": 384, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 365, + "end": 384, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 365, + "end": 384, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 365, + "end": 384, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 366, + "end": 375, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 376, + "end": 383, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 376, + "end": 383, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 385, + "end": 387, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 388, + "end": 409, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 388, + "end": 406, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 388, + "end": 406, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 388, + "end": 406, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 388, + "end": 406, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 389, + "end": 398, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 399, + "end": 405, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 399, + "end": 405, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 407, + "end": 409, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 410, + "end": 430, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 410, + "end": 427, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 410, + "end": 427, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 410, + "end": 427, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 410, + "end": 427, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 411, + "end": 420, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 421, + "end": 426, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 421, + "end": 426, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 428, + "end": 430, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 431, + "end": 452, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 431, + "end": 449, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 431, + "end": 449, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 431, + "end": 449, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 431, + "end": 449, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 432, + "end": 441, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 442, + "end": 448, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 442, + "end": 448, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 450, + "end": 452, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 453, + "end": 474, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 453, + "end": 471, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 453, + "end": 471, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 453, + "end": 471, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 453, + "end": 471, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 454, + "end": 463, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 464, + "end": 470, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 464, + "end": 470, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": -1, + "bRaw": "- 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 472, + "end": 474, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 475, + "end": 497, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 475, + "end": 494, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 475, + "end": 494, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 475, + "end": 494, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 475, + "end": 494, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 476, + "end": 485, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 486, + "end": 493, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 486, + "end": 493, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": -1, + "bRaw": " - 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 495, + "end": 497, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 498, + "end": 516, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 498, + "end": 513, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 498, + "end": 513, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 498, + "end": 513, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 498, + "end": 513, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 499, + "end": 508, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 509, + "end": 512, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 509, + "end": 512, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 514, + "end": 516, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 517, + "end": 536, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 517, + "end": 533, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 517, + "end": 533, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 517, + "end": 533, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 517, + "end": 533, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 518, + "end": 527, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 528, + "end": 532, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 528, + "end": 532, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 534, + "end": 536, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 537, + "end": 557, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 537, + "end": 554, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 537, + "end": 554, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 537, + "end": 554, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 537, + "end": 554, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 538, + "end": 547, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 548, + "end": 553, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 548, + "end": 553, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 555, + "end": 557, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 558, + "end": 577, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 558, + "end": 574, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 558, + "end": 574, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 558, + "end": 574, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 558, + "end": 574, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 559, + "end": 568, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 569, + "end": 573, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 569, + "end": 573, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 575, + "end": 577, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 578, + "end": 596, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 578, + "end": 593, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 578, + "end": 593, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 578, + "end": 593, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 578, + "end": 593, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 579, + "end": 588, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 589, + "end": 592, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 589, + "end": 592, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 594, + "end": 596, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 597, + "end": 616, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 597, + "end": 613, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 597, + "end": 613, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 597, + "end": 613, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 597, + "end": 613, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 598, + "end": 607, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 608, + "end": 612, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 608, + "end": 612, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 614, + "end": 616, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 617, + "end": 636, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 617, + "end": 633, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 617, + "end": 633, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 617, + "end": 633, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 617, + "end": 633, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 618, + "end": 627, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 628, + "end": 632, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 628, + "end": 632, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": -1, + "bRaw": "- 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 634, + "end": 636, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 637, + "end": 657, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 637, + "end": 654, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 637, + "end": 654, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 637, + "end": 654, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 637, + "end": 654, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 638, + "end": 647, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 648, + "end": 653, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 648, + "end": 653, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": -1, + "bRaw": " - 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 655, + "end": 657, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 658, + "end": 677, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 658, + "end": 674, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 658, + "end": 674, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 658, + "end": 674, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 658, + "end": 674, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 659, + "end": 668, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 669, + "end": 673, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 669, + "end": 673, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 675, + "end": 677, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 678, + "end": 698, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 678, + "end": 695, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 678, + "end": 695, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 678, + "end": 695, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 678, + "end": 695, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 679, + "end": 688, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 689, + "end": 694, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 689, + "end": 694, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 696, + "end": 698, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 699, + "end": 720, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 699, + "end": 717, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 699, + "end": 717, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 699, + "end": 717, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 699, + "end": 717, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 700, + "end": 709, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 710, + "end": 716, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 710, + "end": 716, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 718, + "end": 720, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 721, + "end": 741, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 721, + "end": 738, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 721, + "end": 738, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 721, + "end": 738, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 721, + "end": 738, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 722, + "end": 731, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 732, + "end": 737, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 732, + "end": 737, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 739, + "end": 741, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 742, + "end": 761, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 742, + "end": 758, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 742, + "end": 758, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 742, + "end": 758, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 742, + "end": 758, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 743, + "end": 752, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 753, + "end": 757, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 753, + "end": 757, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 759, + "end": 761, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 762, + "end": 782, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 762, + "end": 779, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 762, + "end": 779, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 762, + "end": 779, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 762, + "end": 779, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 763, + "end": 772, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 773, + "end": 778, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 773, + "end": 778, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 780, + "end": 782, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 783, + "end": 803, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 783, + "end": 800, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 783, + "end": 800, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 783, + "end": 800, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 783, + "end": 800, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 784, + "end": 793, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 794, + "end": 799, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 794, + "end": 799, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": -1, + "bRaw": "- 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 801, + "end": 803, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 804, + "end": 825, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 804, + "end": 822, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 804, + "end": 822, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 804, + "end": 822, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 804, + "end": 822, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 805, + "end": 814, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 815, + "end": 821, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 815, + "end": 821, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": -1, + "bRaw": " - 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 823, + "end": 825, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 826, + "end": 845, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 826, + "end": 842, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 826, + "end": 842, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 826, + "end": 842, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 826, + "end": 842, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 827, + "end": 836, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 837, + "end": 841, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 837, + "end": 841, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 843, + "end": 845, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 846, + "end": 866, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 846, + "end": 863, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 846, + "end": 863, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 846, + "end": 863, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 846, + "end": 863, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 847, + "end": 856, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 857, + "end": 862, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 857, + "end": 862, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 864, + "end": 866, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 867, + "end": 888, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 867, + "end": 885, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 867, + "end": 885, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 867, + "end": 885, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 867, + "end": 885, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 868, + "end": 877, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 878, + "end": 884, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 878, + "end": 884, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 886, + "end": 888, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 889, + "end": 909, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 889, + "end": 906, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 889, + "end": 906, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 889, + "end": 906, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 889, + "end": 906, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 890, + "end": 899, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 900, + "end": 905, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 900, + "end": 905, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 907, + "end": 909, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 910, + "end": 929, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 910, + "end": 926, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 910, + "end": 926, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 910, + "end": 926, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 910, + "end": 926, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 911, + "end": 920, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 921, + "end": 925, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 921, + "end": 925, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 927, + "end": 929, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 930, + "end": 950, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 930, + "end": 947, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 930, + "end": 947, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 930, + "end": 947, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 930, + "end": 947, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 931, + "end": 940, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 941, + "end": 946, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 941, + "end": 946, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 948, + "end": 950, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 951, + "end": 971, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 951, + "end": 968, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 951, + "end": 968, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 951, + "end": 968, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 951, + "end": 968, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 952, + "end": 961, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 962, + "end": 967, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 962, + "end": 967, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": -1, + "bRaw": "- 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 969, + "end": 971, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 972, + "end": 993, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 972, + "end": 990, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 972, + "end": 990, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 972, + "end": 990, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 972, + "end": 990, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 973, + "end": 982, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 983, + "end": 989, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 983, + "end": 989, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": -1, + "bRaw": " - 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 991, + "end": 993, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 994, + "end": 1010, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 994, + "end": 1007, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 994, + "end": 1007, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 994, + "end": 1007, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 994, + "end": 1007, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 995, + "end": 1004, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1005, + "end": 1006, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1005, + "end": 1006, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1008, + "end": 1010, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1011, + "end": 1028, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1011, + "end": 1025, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1011, + "end": 1025, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1011, + "end": 1025, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1011, + "end": 1025, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1012, + "end": 1021, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1022, + "end": 1024, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1022, + "end": 1024, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1026, + "end": 1028, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1029, + "end": 1046, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1029, + "end": 1043, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1029, + "end": 1043, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1029, + "end": 1043, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1029, + "end": 1043, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1030, + "end": 1039, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1040, + "end": 1042, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1040, + "end": 1042, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1044, + "end": 1046, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1047, + "end": 1064, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1047, + "end": 1061, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1047, + "end": 1061, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1047, + "end": 1061, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1047, + "end": 1061, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1048, + "end": 1057, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1058, + "end": 1060, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1058, + "end": 1060, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1062, + "end": 1064, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1065, + "end": 1083, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1065, + "end": 1080, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1065, + "end": 1080, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1065, + "end": 1080, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1065, + "end": 1080, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1066, + "end": 1075, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1076, + "end": 1079, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1076, + "end": 1079, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1081, + "end": 1083, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1084, + "end": 1102, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1084, + "end": 1099, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1084, + "end": 1099, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1084, + "end": 1099, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1084, + "end": 1099, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1085, + "end": 1094, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1095, + "end": 1098, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1095, + "end": 1098, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1100, + "end": 1102, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1103, + "end": 1119, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1103, + "end": 1116, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1103, + "end": 1116, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1103, + "end": 1116, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1103, + "end": 1116, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1104, + "end": 1113, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1114, + "end": 1115, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1114, + "end": 1115, + "ctxt": 0 + }, + "a": 1, + "aRaw": "", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1117, + "end": 1119, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1120, + "end": 1137, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1120, + "end": 1134, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1120, + "end": 1134, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1120, + "end": 1134, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1120, + "end": 1134, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1121, + "end": 1130, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1131, + "end": 1133, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1131, + "end": 1133, + "ctxt": 0 + }, + "a": -1, + "aRaw": "-", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1135, + "end": 1137, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1138, + "end": 1155, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1138, + "end": 1152, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1138, + "end": 1152, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1138, + "end": 1152, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1138, + "end": 1152, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1139, + "end": 1148, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1149, + "end": 1151, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1149, + "end": 1151, + "ctxt": 0 + }, + "a": 1, + "aRaw": "+", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1153, + "end": 1155, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1156, + "end": 1173, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1156, + "end": 1170, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1156, + "end": 1170, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1156, + "end": 1170, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1156, + "end": 1170, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1157, + "end": 1166, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1167, + "end": 1169, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1167, + "end": 1169, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1171, + "end": 1173, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1174, + "end": 1192, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1174, + "end": 1189, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1174, + "end": 1189, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1174, + "end": 1189, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1174, + "end": 1189, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1175, + "end": 1184, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1185, + "end": 1188, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1185, + "end": 1188, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1190, + "end": 1192, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1193, + "end": 1211, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1193, + "end": 1208, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1193, + "end": 1208, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1193, + "end": 1208, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1193, + "end": 1208, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1194, + "end": 1203, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1204, + "end": 1207, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1204, + "end": 1207, + "ctxt": 0 + }, + "a": 2, + "aRaw": "+2", + "b": null, + "bRaw": null + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1209, + "end": 1211, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1212, + "end": 1228, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1212, + "end": 1225, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1212, + "end": 1225, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1212, + "end": 1225, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1212, + "end": 1225, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1213, + "end": 1222, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1223, + "end": 1224, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1223, + "end": 1224, + "ctxt": 0 + }, + "a": null, + "aRaw": null, + "b": 1, + "bRaw": "1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1226, + "end": 1228, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1229, + "end": 1246, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1229, + "end": 1243, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1229, + "end": 1243, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1229, + "end": 1243, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1229, + "end": 1243, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1230, + "end": 1239, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1240, + "end": 1242, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1240, + "end": 1242, + "ctxt": 0 + }, + "a": null, + "aRaw": null, + "b": -1, + "bRaw": "-1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1244, + "end": 1246, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1247, + "end": 1264, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1247, + "end": 1261, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1247, + "end": 1261, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1247, + "end": 1261, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1247, + "end": 1261, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1248, + "end": 1257, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1258, + "end": 1260, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1258, + "end": 1260, + "ctxt": 0 + }, + "a": null, + "aRaw": null, + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1262, + "end": 1264, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1265, + "end": 1296, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1265, + "end": 1293, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1265, + "end": 1293, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1265, + "end": 1293, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1265, + "end": 1293, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1266, + "end": 1275, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1276, + "end": 1292, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1276, + "end": 1292, + "ctxt": 0 + }, + "a": 123456, + "aRaw": "123456", + "b": -12345678, + "bRaw": "-12345678" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1294, + "end": 1296, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1298, + "end": 1317, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1298, + "end": 1314, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1298, + "end": 1314, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1298, + "end": 1314, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1298, + "end": 1314, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1299, + "end": 1308, + "ctxt": 0 + }, + "value": "Nth-Child", + "raw": "Nth-Child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1309, + "end": 1313, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1309, + "end": 1313, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1315, + "end": 1317, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1318, + "end": 1337, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1318, + "end": 1334, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1318, + "end": 1334, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1318, + "end": 1334, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1318, + "end": 1334, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1319, + "end": 1328, + "ctxt": 0 + }, + "value": "NTH-CHILD", + "raw": "NTH-CHILD" + }, + "children": { + "type": "Nth", + "span": { + "start": 1329, + "end": 1333, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1329, + "end": 1333, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1335, + "end": 1337, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1339, + "end": 1357, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1339, + "end": 1354, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1339, + "end": 1354, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1339, + "end": 1354, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1339, + "end": 1354, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1340, + "end": 1349, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1350, + "end": 1353, + "ctxt": 0 + }, + "nth": { + "type": "Identifier", + "span": { + "start": 1350, + "end": 1353, + "ctxt": 0 + }, + "value": "odd", + "raw": "odd" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1355, + "end": 1357, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1358, + "end": 1376, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1358, + "end": 1373, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1358, + "end": 1373, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1358, + "end": 1373, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1358, + "end": 1373, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1359, + "end": 1368, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1369, + "end": 1372, + "ctxt": 0 + }, + "nth": { + "type": "Identifier", + "span": { + "start": 1369, + "end": 1372, + "ctxt": 0 + }, + "value": "ODD", + "raw": "ODD" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1374, + "end": 1376, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1377, + "end": 1395, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1377, + "end": 1392, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1377, + "end": 1392, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1377, + "end": 1392, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1377, + "end": 1392, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1378, + "end": 1387, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1388, + "end": 1391, + "ctxt": 0 + }, + "nth": { + "type": "Identifier", + "span": { + "start": 1388, + "end": 1391, + "ctxt": 0 + }, + "value": "oDd", + "raw": "oDd" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1393, + "end": 1395, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1396, + "end": 1415, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1396, + "end": 1412, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1396, + "end": 1412, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1396, + "end": 1412, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1396, + "end": 1412, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1397, + "end": 1406, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1407, + "end": 1411, + "ctxt": 0 + }, + "nth": { + "type": "Identifier", + "span": { + "start": 1407, + "end": 1411, + "ctxt": 0 + }, + "value": "even", + "raw": "even" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1413, + "end": 1415, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1416, + "end": 1435, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1416, + "end": 1432, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1416, + "end": 1432, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1416, + "end": 1432, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1416, + "end": 1432, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1417, + "end": 1426, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1427, + "end": 1431, + "ctxt": 0 + }, + "nth": { + "type": "Identifier", + "span": { + "start": 1427, + "end": 1431, + "ctxt": 0 + }, + "value": "eVeN", + "raw": "eVeN" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1433, + "end": 1435, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1436, + "end": 1455, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1436, + "end": 1452, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1436, + "end": 1452, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1436, + "end": 1452, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1436, + "end": 1452, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1437, + "end": 1446, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1447, + "end": 1451, + "ctxt": 0 + }, + "nth": { + "type": "Identifier", + "span": { + "start": 1447, + "end": 1451, + "ctxt": 0 + }, + "value": "EVEN", + "raw": "EVEN" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1453, + "end": 1455, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1457, + "end": 1508, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1457, + "end": 1505, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1457, + "end": 1505, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1457, + "end": 1505, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1457, + "end": 1505, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1458, + "end": 1467, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1476, + "end": 1496, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1476, + "end": 1496, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1506, + "end": 1508, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1509, + "end": 1566, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1509, + "end": 1563, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1509, + "end": 1563, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1509, + "end": 1563, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1509, + "end": 1563, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1510, + "end": 1524, + "ctxt": 0 + }, + "value": "nth-last-child", + "raw": "nth-last-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1533, + "end": 1554, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1533, + "end": 1554, + "ctxt": 0 + }, + "a": 3, + "aRaw": "+3", + "b": -2, + "bRaw": " - 2" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1564, + "end": 1566, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1568, + "end": 1595, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1568, + "end": 1592, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1568, + "end": 1592, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1568, + "end": 1592, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1568, + "end": 1592, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1569, + "end": 1578, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1581, + "end": 1589, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1581, + "end": 1589, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": " + 1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1593, + "end": 1595, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1596, + "end": 1629, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1596, + "end": 1626, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1596, + "end": 1626, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1596, + "end": 1626, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1596, + "end": 1626, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1597, + "end": 1611, + "ctxt": 0 + }, + "value": "nth-last-child", + "raw": "nth-last-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1614, + "end": 1623, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1614, + "end": 1623, + "ctxt": 0 + }, + "a": 3, + "aRaw": "+3", + "b": -2, + "bRaw": " - 2" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1627, + "end": 1629, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1631, + "end": 1651, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1631, + "end": 1648, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1631, + "end": 1648, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1631, + "end": 1648, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1631, + "end": 1648, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1632, + "end": 1641, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1642, + "end": 1647, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1642, + "end": 1647, + "ctxt": 0 + }, + "a": -2, + "aRaw": "-2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1649, + "end": 1651, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1652, + "end": 1676, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1652, + "end": 1673, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1652, + "end": 1673, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1652, + "end": 1673, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1652, + "end": 1673, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1653, + "end": 1667, + "ctxt": 0 + }, + "value": "nth-last-child", + "raw": "nth-last-child" + }, + "children": { + "type": "Nth", + "span": { + "start": 1668, + "end": 1672, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1668, + "end": 1672, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1674, + "end": 1676, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1677, + "end": 1698, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1677, + "end": 1695, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1677, + "end": 1695, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1677, + "end": 1695, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1677, + "end": 1695, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1678, + "end": 1689, + "ctxt": 0 + }, + "value": "nth-of-type", + "raw": "nth-of-type" + }, + "children": { + "type": "Nth", + "span": { + "start": 1690, + "end": 1694, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1690, + "end": 1694, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1696, + "end": 1698, + "ctxt": 0 + }, + "items": [] + } + }, + { + "type": "StyleRule", + "span": { + "start": 1699, + "end": 1725, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 1699, + "end": 1722, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1699, + "end": 1722, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1699, + "end": 1722, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 1699, + "end": 1722, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1700, + "end": 1716, + "ctxt": 0 + }, + "value": "nth-last-of-type", + "raw": "nth-last-of-type" + }, + "children": { + "type": "Nth", + "span": { + "start": 1717, + "end": 1721, + "ctxt": 0 + }, + "nth": { + "type": "AnPlusB", + "span": { + "start": 1717, + "end": 1721, + "ctxt": 0 + }, + "a": 2, + "aRaw": "2", + "b": 1, + "bRaw": "+1" + }, + "selectorList": null + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 1723, + "end": 1725, + "ctxt": 0 + }, + "items": [] + } + } + ] +} diff --git a/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/span.rust-debug b/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/span.rust-debug new file mode 100644 index 000000000000..43b1d7a3be4e --- /dev/null +++ b/crates/swc_css_parser/tests/fixture/selector/pseudo-classs/an-plus-b/span.rust-debug @@ -0,0 +1,5226 @@ +error: Stylesheet + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:1 + | +1 | / :nth-child(2n+1) {} +2 | | :nth-child(2n +1) {} +3 | | :nth-child(2n + 1) {} +4 | | :nth-child(2n+ 1) {} +... | +85 | | +86 | | /*:nth-child(2n+1 of li,.test) {}*/ + | |_ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:1 + | +1 | :nth-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:1 + | +1 | :nth-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:1 + | +1 | :nth-child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:1 + | +1 | :nth-child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:1 + | +1 | :nth-child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:1 + | +1 | :nth-child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:1 + | +1 | :nth-child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:2 + | +1 | :nth-child(2n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:12 + | +1 | :nth-child(2n+1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:12 + | +1 | :nth-child(2n+1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:1:18 + | +1 | :nth-child(2n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:1 + | +2 | :nth-child(2n +1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:1 + | +2 | :nth-child(2n +1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:1 + | +2 | :nth-child(2n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:1 + | +2 | :nth-child(2n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:1 + | +2 | :nth-child(2n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:1 + | +2 | :nth-child(2n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:1 + | +2 | :nth-child(2n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:2 + | +2 | :nth-child(2n +1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:12 + | +2 | :nth-child(2n +1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:12 + | +2 | :nth-child(2n +1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:2:19 + | +2 | :nth-child(2n +1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:1 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:1 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:1 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:1 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:1 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:1 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:1 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:2 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:12 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:12 + | +3 | :nth-child(2n + 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:3:20 + | +3 | :nth-child(2n + 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:1 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:1 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:1 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:1 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:1 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:1 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:1 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:2 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:12 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:12 + | +4 | :nth-child(2n+ 1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:4:19 + | +4 | :nth-child(2n+ 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:1 + | +5 | :nth-child(2n-1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:1 + | +5 | :nth-child(2n-1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:1 + | +5 | :nth-child(2n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:1 + | +5 | :nth-child(2n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:1 + | +5 | :nth-child(2n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:1 + | +5 | :nth-child(2n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:1 + | +5 | :nth-child(2n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:2 + | +5 | :nth-child(2n-1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:12 + | +5 | :nth-child(2n-1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:12 + | +5 | :nth-child(2n-1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:5:18 + | +5 | :nth-child(2n-1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:1 + | +6 | :nth-child(2n -1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:1 + | +6 | :nth-child(2n -1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:1 + | +6 | :nth-child(2n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:1 + | +6 | :nth-child(2n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:1 + | +6 | :nth-child(2n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:1 + | +6 | :nth-child(2n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:1 + | +6 | :nth-child(2n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:2 + | +6 | :nth-child(2n -1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:12 + | +6 | :nth-child(2n -1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:12 + | +6 | :nth-child(2n -1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:6:19 + | +6 | :nth-child(2n -1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:1 + | +7 | :nth-child(2n- 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:1 + | +7 | :nth-child(2n- 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:1 + | +7 | :nth-child(2n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:1 + | +7 | :nth-child(2n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:1 + | +7 | :nth-child(2n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:1 + | +7 | :nth-child(2n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:1 + | +7 | :nth-child(2n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:2 + | +7 | :nth-child(2n- 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:12 + | +7 | :nth-child(2n- 1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:12 + | +7 | :nth-child(2n- 1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:7:19 + | +7 | :nth-child(2n- 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:1 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:1 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:1 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:1 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:1 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:1 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:1 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:2 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:12 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:12 + | +8 | :nth-child(2n - 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:8:20 + | +8 | :nth-child(2n - 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:1 + | +9 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:1 + | +9 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:1 + | +9 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:1 + | +9 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:1 + | +9 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:1 + | +9 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:1 + | +9 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:2 + | +9 | :nth-child(-2n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:12 + | +9 | :nth-child(-2n+1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:12 + | +9 | :nth-child(-2n+1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:9:19 + | +9 | :nth-child(-2n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:1 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:1 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:1 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:1 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:1 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:1 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:1 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:2 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:12 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:12 + | +10 | :nth-child(-2n +1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:10:20 + | +10 | :nth-child(-2n +1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:1 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:1 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:1 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:1 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:1 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:1 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:1 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:2 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:12 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:12 + | +11 | :nth-child(-2n + 1) {} + | ^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:11:21 + | +11 | :nth-child(-2n + 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:1 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:1 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:1 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:1 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:1 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:1 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:1 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:2 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:12 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:12 + | +12 | :nth-child(-2n+ 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:12:20 + | +12 | :nth-child(-2n+ 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:1 + | +13 | :nth-child(-2n-1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:1 + | +13 | :nth-child(-2n-1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:1 + | +13 | :nth-child(-2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:1 + | +13 | :nth-child(-2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:1 + | +13 | :nth-child(-2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:1 + | +13 | :nth-child(-2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:1 + | +13 | :nth-child(-2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:2 + | +13 | :nth-child(-2n-1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:12 + | +13 | :nth-child(-2n-1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:12 + | +13 | :nth-child(-2n-1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:13:19 + | +13 | :nth-child(-2n-1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:1 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:1 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:1 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:1 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:1 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:1 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:1 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:2 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:12 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:12 + | +14 | :nth-child(-2n -1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:14:20 + | +14 | :nth-child(-2n -1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:1 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:1 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:1 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:1 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:1 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:1 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:1 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:2 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:12 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:12 + | +15 | :nth-child(-2n - 1) {} + | ^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:15:21 + | +15 | :nth-child(-2n - 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:1 + | +16 | :nth-child(+2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:1 + | +16 | :nth-child(+2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:1 + | +16 | :nth-child(+2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:1 + | +16 | :nth-child(+2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:1 + | +16 | :nth-child(+2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:1 + | +16 | :nth-child(+2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:1 + | +16 | :nth-child(+2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:2 + | +16 | :nth-child(+2n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:12 + | +16 | :nth-child(+2n+1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:12 + | +16 | :nth-child(+2n+1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:16:19 + | +16 | :nth-child(+2n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:1 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:1 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:1 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:1 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:1 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:1 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:1 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:2 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:12 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:12 + | +17 | :nth-child(+2n +1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:17:20 + | +17 | :nth-child(+2n +1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:1 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:1 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:1 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:1 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:1 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:1 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:1 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:2 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:12 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:12 + | +18 | :nth-child(+2n + 1) {} + | ^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:18:21 + | +18 | :nth-child(+2n + 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:1 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:1 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:1 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:1 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:1 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:1 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:1 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:2 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:12 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:12 + | +19 | :nth-child(+2n+ 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:19:20 + | +19 | :nth-child(+2n+ 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:1 + | +20 | :nth-child(+2n-1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:1 + | +20 | :nth-child(+2n-1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:1 + | +20 | :nth-child(+2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:1 + | +20 | :nth-child(+2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:1 + | +20 | :nth-child(+2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:1 + | +20 | :nth-child(+2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:1 + | +20 | :nth-child(+2n-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:2 + | +20 | :nth-child(+2n-1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:12 + | +20 | :nth-child(+2n-1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:12 + | +20 | :nth-child(+2n-1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:20:19 + | +20 | :nth-child(+2n-1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:1 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:1 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:1 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:1 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:1 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:1 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:1 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:2 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:12 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:12 + | +21 | :nth-child(+2n -1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:21:20 + | +21 | :nth-child(+2n -1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:1 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:1 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:1 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:1 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:1 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:1 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:1 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:2 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:12 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:12 + | +22 | :nth-child(+2n- 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:22:20 + | +22 | :nth-child(+2n- 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:1 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:1 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:1 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:1 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:1 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:1 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:1 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:2 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:12 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:12 + | +23 | :nth-child(+2n - 1) {} + | ^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:23:21 + | +23 | :nth-child(+2n - 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:1 + | +24 | :nth-child(n+1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:1 + | +24 | :nth-child(n+1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:1 + | +24 | :nth-child(n+1) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:1 + | +24 | :nth-child(n+1) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:1 + | +24 | :nth-child(n+1) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:1 + | +24 | :nth-child(n+1) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:1 + | +24 | :nth-child(n+1) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:2 + | +24 | :nth-child(n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:12 + | +24 | :nth-child(n+1) {} + | ^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:12 + | +24 | :nth-child(n+1) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:24:17 + | +24 | :nth-child(n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:1 + | +25 | :nth-child(n +1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:1 + | +25 | :nth-child(n +1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:1 + | +25 | :nth-child(n +1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:1 + | +25 | :nth-child(n +1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:1 + | +25 | :nth-child(n +1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:1 + | +25 | :nth-child(n +1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:1 + | +25 | :nth-child(n +1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:2 + | +25 | :nth-child(n +1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:12 + | +25 | :nth-child(n +1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:12 + | +25 | :nth-child(n +1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:25:18 + | +25 | :nth-child(n +1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:1 + | +26 | :nth-child(n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:1 + | +26 | :nth-child(n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:1 + | +26 | :nth-child(n + 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:1 + | +26 | :nth-child(n + 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:1 + | +26 | :nth-child(n + 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:1 + | +26 | :nth-child(n + 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:1 + | +26 | :nth-child(n + 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:2 + | +26 | :nth-child(n + 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:12 + | +26 | :nth-child(n + 1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:12 + | +26 | :nth-child(n + 1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:26:19 + | +26 | :nth-child(n + 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:1 + | +27 | :nth-child(n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:1 + | +27 | :nth-child(n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:1 + | +27 | :nth-child(n+ 1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:1 + | +27 | :nth-child(n+ 1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:1 + | +27 | :nth-child(n+ 1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:1 + | +27 | :nth-child(n+ 1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:1 + | +27 | :nth-child(n+ 1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:2 + | +27 | :nth-child(n+ 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:12 + | +27 | :nth-child(n+ 1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:12 + | +27 | :nth-child(n+ 1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:27:18 + | +27 | :nth-child(n+ 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:1 + | +28 | :nth-child(n-1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:1 + | +28 | :nth-child(n-1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:1 + | +28 | :nth-child(n-1) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:1 + | +28 | :nth-child(n-1) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:1 + | +28 | :nth-child(n-1) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:1 + | +28 | :nth-child(n-1) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:1 + | +28 | :nth-child(n-1) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:2 + | +28 | :nth-child(n-1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:12 + | +28 | :nth-child(n-1) {} + | ^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:12 + | +28 | :nth-child(n-1) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:28:17 + | +28 | :nth-child(n-1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:1 + | +29 | :nth-child(n -1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:1 + | +29 | :nth-child(n -1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:1 + | +29 | :nth-child(n -1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:1 + | +29 | :nth-child(n -1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:1 + | +29 | :nth-child(n -1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:1 + | +29 | :nth-child(n -1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:1 + | +29 | :nth-child(n -1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:2 + | +29 | :nth-child(n -1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:12 + | +29 | :nth-child(n -1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:12 + | +29 | :nth-child(n -1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:29:18 + | +29 | :nth-child(n -1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:1 + | +30 | :nth-child(n- 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:1 + | +30 | :nth-child(n- 1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:1 + | +30 | :nth-child(n- 1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:1 + | +30 | :nth-child(n- 1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:1 + | +30 | :nth-child(n- 1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:1 + | +30 | :nth-child(n- 1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:1 + | +30 | :nth-child(n- 1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:2 + | +30 | :nth-child(n- 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:12 + | +30 | :nth-child(n- 1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:12 + | +30 | :nth-child(n- 1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:30:18 + | +30 | :nth-child(n- 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:1 + | +31 | :nth-child(n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:1 + | +31 | :nth-child(n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:1 + | +31 | :nth-child(n - 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:1 + | +31 | :nth-child(n - 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:1 + | +31 | :nth-child(n - 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:1 + | +31 | :nth-child(n - 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:1 + | +31 | :nth-child(n - 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:2 + | +31 | :nth-child(n - 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:12 + | +31 | :nth-child(n - 1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:12 + | +31 | :nth-child(n - 1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:31:19 + | +31 | :nth-child(n - 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:1 + | +32 | :nth-child(-n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:1 + | +32 | :nth-child(-n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:1 + | +32 | :nth-child(-n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:1 + | +32 | :nth-child(-n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:1 + | +32 | :nth-child(-n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:1 + | +32 | :nth-child(-n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:1 + | +32 | :nth-child(-n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:2 + | +32 | :nth-child(-n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:12 + | +32 | :nth-child(-n+1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:12 + | +32 | :nth-child(-n+1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:32:18 + | +32 | :nth-child(-n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:1 + | +33 | :nth-child(-n +1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:1 + | +33 | :nth-child(-n +1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:1 + | +33 | :nth-child(-n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:1 + | +33 | :nth-child(-n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:1 + | +33 | :nth-child(-n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:1 + | +33 | :nth-child(-n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:1 + | +33 | :nth-child(-n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:2 + | +33 | :nth-child(-n +1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:12 + | +33 | :nth-child(-n +1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:12 + | +33 | :nth-child(-n +1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:33:19 + | +33 | :nth-child(-n +1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:1 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:1 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:1 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:1 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:1 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:1 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:1 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:2 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:12 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:12 + | +34 | :nth-child(-n + 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:34:20 + | +34 | :nth-child(-n + 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:1 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:1 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:1 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:1 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:1 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:1 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:1 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:2 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:12 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:12 + | +35 | :nth-child(-n+ 1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:35:19 + | +35 | :nth-child(-n+ 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:1 + | +36 | :nth-child(-n-1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:1 + | +36 | :nth-child(-n-1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:1 + | +36 | :nth-child(-n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:1 + | +36 | :nth-child(-n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:1 + | +36 | :nth-child(-n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:1 + | +36 | :nth-child(-n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:1 + | +36 | :nth-child(-n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:2 + | +36 | :nth-child(-n-1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:12 + | +36 | :nth-child(-n-1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:12 + | +36 | :nth-child(-n-1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:36:18 + | +36 | :nth-child(-n-1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:1 + | +37 | :nth-child(-n -1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:1 + | +37 | :nth-child(-n -1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:1 + | +37 | :nth-child(-n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:1 + | +37 | :nth-child(-n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:1 + | +37 | :nth-child(-n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:1 + | +37 | :nth-child(-n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:1 + | +37 | :nth-child(-n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:2 + | +37 | :nth-child(-n -1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:12 + | +37 | :nth-child(-n -1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:12 + | +37 | :nth-child(-n -1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:37:19 + | +37 | :nth-child(-n -1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:1 + | +38 | :nth-child(-n- 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:1 + | +38 | :nth-child(-n- 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:1 + | +38 | :nth-child(-n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:1 + | +38 | :nth-child(-n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:1 + | +38 | :nth-child(-n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:1 + | +38 | :nth-child(-n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:1 + | +38 | :nth-child(-n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:2 + | +38 | :nth-child(-n- 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:12 + | +38 | :nth-child(-n- 1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:12 + | +38 | :nth-child(-n- 1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:38:19 + | +38 | :nth-child(-n- 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:1 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:1 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:1 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:1 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:1 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:1 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:1 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:2 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:12 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:12 + | +39 | :nth-child(-n - 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:39:20 + | +39 | :nth-child(-n - 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:1 + | +40 | :nth-child(+n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:1 + | +40 | :nth-child(+n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:1 + | +40 | :nth-child(+n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:1 + | +40 | :nth-child(+n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:1 + | +40 | :nth-child(+n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:1 + | +40 | :nth-child(+n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:1 + | +40 | :nth-child(+n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:2 + | +40 | :nth-child(+n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:12 + | +40 | :nth-child(+n+1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:12 + | +40 | :nth-child(+n+1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:40:18 + | +40 | :nth-child(+n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:1 + | +41 | :nth-child(+n +1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:1 + | +41 | :nth-child(+n +1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:1 + | +41 | :nth-child(+n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:1 + | +41 | :nth-child(+n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:1 + | +41 | :nth-child(+n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:1 + | +41 | :nth-child(+n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:1 + | +41 | :nth-child(+n +1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:2 + | +41 | :nth-child(+n +1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:12 + | +41 | :nth-child(+n +1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:12 + | +41 | :nth-child(+n +1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:41:19 + | +41 | :nth-child(+n +1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:1 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:1 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:1 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:1 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:1 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:1 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:1 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:2 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:12 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:12 + | +42 | :nth-child(+n + 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:42:20 + | +42 | :nth-child(+n + 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:1 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:1 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:1 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:1 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:1 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:1 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:1 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:2 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:12 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:12 + | +43 | :nth-child(+n+ 1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:43:19 + | +43 | :nth-child(+n+ 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:1 + | +44 | :nth-child(+n-1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:1 + | +44 | :nth-child(+n-1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:1 + | +44 | :nth-child(+n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:1 + | +44 | :nth-child(+n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:1 + | +44 | :nth-child(+n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:1 + | +44 | :nth-child(+n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:1 + | +44 | :nth-child(+n-1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:2 + | +44 | :nth-child(+n-1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:12 + | +44 | :nth-child(+n-1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:12 + | +44 | :nth-child(+n-1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:44:18 + | +44 | :nth-child(+n-1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:1 + | +45 | :nth-child(+n -1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:1 + | +45 | :nth-child(+n -1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:1 + | +45 | :nth-child(+n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:1 + | +45 | :nth-child(+n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:1 + | +45 | :nth-child(+n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:1 + | +45 | :nth-child(+n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:1 + | +45 | :nth-child(+n -1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:2 + | +45 | :nth-child(+n -1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:12 + | +45 | :nth-child(+n -1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:12 + | +45 | :nth-child(+n -1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:45:19 + | +45 | :nth-child(+n -1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:1 + | +46 | :nth-child(+n- 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:1 + | +46 | :nth-child(+n- 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:1 + | +46 | :nth-child(+n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:1 + | +46 | :nth-child(+n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:1 + | +46 | :nth-child(+n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:1 + | +46 | :nth-child(+n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:1 + | +46 | :nth-child(+n- 1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:2 + | +46 | :nth-child(+n- 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:12 + | +46 | :nth-child(+n- 1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:12 + | +46 | :nth-child(+n- 1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:46:19 + | +46 | :nth-child(+n- 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:1 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:1 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:1 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:1 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:1 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:1 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:1 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:2 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:12 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:12 + | +47 | :nth-child(+n - 1) {} + | ^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:47:20 + | +47 | :nth-child(+n - 1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:1 + | +48 | :nth-child(n) {} + | ^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:1 + | +48 | :nth-child(n) {} + | ^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:1 + | +48 | :nth-child(n) {} + | ^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:1 + | +48 | :nth-child(n) {} + | ^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:1 + | +48 | :nth-child(n) {} + | ^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:1 + | +48 | :nth-child(n) {} + | ^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:1 + | +48 | :nth-child(n) {} + | ^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:2 + | +48 | :nth-child(n) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:12 + | +48 | :nth-child(n) {} + | ^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:12 + | +48 | :nth-child(n) {} + | ^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:48:15 + | +48 | :nth-child(n) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:1 + | +49 | :nth-child(-n) {} + | ^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:1 + | +49 | :nth-child(-n) {} + | ^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:1 + | +49 | :nth-child(-n) {} + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:1 + | +49 | :nth-child(-n) {} + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:1 + | +49 | :nth-child(-n) {} + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:1 + | +49 | :nth-child(-n) {} + | ^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:1 + | +49 | :nth-child(-n) {} + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:2 + | +49 | :nth-child(-n) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:12 + | +49 | :nth-child(-n) {} + | ^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:12 + | +49 | :nth-child(-n) {} + | ^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:49:16 + | +49 | :nth-child(-n) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:1 + | +50 | :nth-child(+n) {} + | ^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:1 + | +50 | :nth-child(+n) {} + | ^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:1 + | +50 | :nth-child(+n) {} + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:1 + | +50 | :nth-child(+n) {} + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:1 + | +50 | :nth-child(+n) {} + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:1 + | +50 | :nth-child(+n) {} + | ^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:1 + | +50 | :nth-child(+n) {} + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:2 + | +50 | :nth-child(+n) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:12 + | +50 | :nth-child(+n) {} + | ^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:12 + | +50 | :nth-child(+n) {} + | ^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:50:16 + | +50 | :nth-child(+n) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:1 + | +51 | :nth-child(2n) {} + | ^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:1 + | +51 | :nth-child(2n) {} + | ^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:1 + | +51 | :nth-child(2n) {} + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:1 + | +51 | :nth-child(2n) {} + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:1 + | +51 | :nth-child(2n) {} + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:1 + | +51 | :nth-child(2n) {} + | ^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:1 + | +51 | :nth-child(2n) {} + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:2 + | +51 | :nth-child(2n) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:12 + | +51 | :nth-child(2n) {} + | ^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:12 + | +51 | :nth-child(2n) {} + | ^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:51:16 + | +51 | :nth-child(2n) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:1 + | +52 | :nth-child(-2n) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:1 + | +52 | :nth-child(-2n) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:1 + | +52 | :nth-child(-2n) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:1 + | +52 | :nth-child(-2n) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:1 + | +52 | :nth-child(-2n) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:1 + | +52 | :nth-child(-2n) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:1 + | +52 | :nth-child(-2n) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:2 + | +52 | :nth-child(-2n) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:12 + | +52 | :nth-child(-2n) {} + | ^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:12 + | +52 | :nth-child(-2n) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:52:17 + | +52 | :nth-child(-2n) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:1 + | +53 | :nth-child(+2n) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:1 + | +53 | :nth-child(+2n) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:1 + | +53 | :nth-child(+2n) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:1 + | +53 | :nth-child(+2n) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:1 + | +53 | :nth-child(+2n) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:1 + | +53 | :nth-child(+2n) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:1 + | +53 | :nth-child(+2n) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:2 + | +53 | :nth-child(+2n) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:12 + | +53 | :nth-child(+2n) {} + | ^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:12 + | +53 | :nth-child(+2n) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:53:17 + | +53 | :nth-child(+2n) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:1 + | +54 | :nth-child(N) {} + | ^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:1 + | +54 | :nth-child(N) {} + | ^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:1 + | +54 | :nth-child(N) {} + | ^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:1 + | +54 | :nth-child(N) {} + | ^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:1 + | +54 | :nth-child(N) {} + | ^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:1 + | +54 | :nth-child(N) {} + | ^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:1 + | +54 | :nth-child(N) {} + | ^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:2 + | +54 | :nth-child(N) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:12 + | +54 | :nth-child(N) {} + | ^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:12 + | +54 | :nth-child(N) {} + | ^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:54:15 + | +54 | :nth-child(N) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:1 + | +55 | :nth-child(-N) {} + | ^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:1 + | +55 | :nth-child(-N) {} + | ^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:1 + | +55 | :nth-child(-N) {} + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:1 + | +55 | :nth-child(-N) {} + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:1 + | +55 | :nth-child(-N) {} + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:1 + | +55 | :nth-child(-N) {} + | ^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:1 + | +55 | :nth-child(-N) {} + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:2 + | +55 | :nth-child(-N) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:12 + | +55 | :nth-child(-N) {} + | ^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:12 + | +55 | :nth-child(-N) {} + | ^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:55:16 + | +55 | :nth-child(-N) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:1 + | +56 | :nth-child(+N) {} + | ^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:1 + | +56 | :nth-child(+N) {} + | ^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:1 + | +56 | :nth-child(+N) {} + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:1 + | +56 | :nth-child(+N) {} + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:1 + | +56 | :nth-child(+N) {} + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:1 + | +56 | :nth-child(+N) {} + | ^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:1 + | +56 | :nth-child(+N) {} + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:2 + | +56 | :nth-child(+N) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:12 + | +56 | :nth-child(+N) {} + | ^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:12 + | +56 | :nth-child(+N) {} + | ^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:56:16 + | +56 | :nth-child(+N) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:1 + | +57 | :nth-child(2N) {} + | ^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:1 + | +57 | :nth-child(2N) {} + | ^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:1 + | +57 | :nth-child(2N) {} + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:1 + | +57 | :nth-child(2N) {} + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:1 + | +57 | :nth-child(2N) {} + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:1 + | +57 | :nth-child(2N) {} + | ^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:1 + | +57 | :nth-child(2N) {} + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:2 + | +57 | :nth-child(2N) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:12 + | +57 | :nth-child(2N) {} + | ^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:12 + | +57 | :nth-child(2N) {} + | ^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:57:16 + | +57 | :nth-child(2N) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:1 + | +58 | :nth-child(-2N) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:1 + | +58 | :nth-child(-2N) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:1 + | +58 | :nth-child(-2N) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:1 + | +58 | :nth-child(-2N) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:1 + | +58 | :nth-child(-2N) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:1 + | +58 | :nth-child(-2N) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:1 + | +58 | :nth-child(-2N) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:2 + | +58 | :nth-child(-2N) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:12 + | +58 | :nth-child(-2N) {} + | ^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:12 + | +58 | :nth-child(-2N) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:58:17 + | +58 | :nth-child(-2N) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:1 + | +59 | :nth-child(+2N) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:1 + | +59 | :nth-child(+2N) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:1 + | +59 | :nth-child(+2N) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:1 + | +59 | :nth-child(+2N) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:1 + | +59 | :nth-child(+2N) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:1 + | +59 | :nth-child(+2N) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:1 + | +59 | :nth-child(+2N) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:2 + | +59 | :nth-child(+2N) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:12 + | +59 | :nth-child(+2N) {} + | ^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:12 + | +59 | :nth-child(+2N) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:59:17 + | +59 | :nth-child(+2N) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:1 + | +60 | :nth-child(1) {} + | ^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:1 + | +60 | :nth-child(1) {} + | ^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:1 + | +60 | :nth-child(1) {} + | ^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:1 + | +60 | :nth-child(1) {} + | ^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:1 + | +60 | :nth-child(1) {} + | ^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:1 + | +60 | :nth-child(1) {} + | ^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:1 + | +60 | :nth-child(1) {} + | ^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:2 + | +60 | :nth-child(1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:12 + | +60 | :nth-child(1) {} + | ^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:12 + | +60 | :nth-child(1) {} + | ^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:60:15 + | +60 | :nth-child(1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:1 + | +61 | :nth-child(-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:1 + | +61 | :nth-child(-1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:1 + | +61 | :nth-child(-1) {} + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:1 + | +61 | :nth-child(-1) {} + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:1 + | +61 | :nth-child(-1) {} + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:1 + | +61 | :nth-child(-1) {} + | ^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:1 + | +61 | :nth-child(-1) {} + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:2 + | +61 | :nth-child(-1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:12 + | +61 | :nth-child(-1) {} + | ^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:12 + | +61 | :nth-child(-1) {} + | ^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:61:16 + | +61 | :nth-child(-1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:1 + | +62 | :nth-child(+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:1 + | +62 | :nth-child(+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:1 + | +62 | :nth-child(+1) {} + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:1 + | +62 | :nth-child(+1) {} + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:1 + | +62 | :nth-child(+1) {} + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:1 + | +62 | :nth-child(+1) {} + | ^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:1 + | +62 | :nth-child(+1) {} + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:2 + | +62 | :nth-child(+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:12 + | +62 | :nth-child(+1) {} + | ^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:12 + | +62 | :nth-child(+1) {} + | ^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:62:16 + | +62 | :nth-child(+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:1 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:1 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:1 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:1 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:1 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:1 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:1 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:2 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:12 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:12 + | +63 | :nth-child(123456n-12345678) {} + | ^^^^^^^^^^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:63:30 + | +63 | :nth-child(123456n-12345678) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:1 + | +65 | :Nth-Child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:1 + | +65 | :Nth-Child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:1 + | +65 | :Nth-Child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:1 + | +65 | :Nth-Child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:1 + | +65 | :Nth-Child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:1 + | +65 | :Nth-Child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:1 + | +65 | :Nth-Child(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:2 + | +65 | :Nth-Child(2n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:12 + | +65 | :Nth-Child(2n+1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:12 + | +65 | :Nth-Child(2n+1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:65:18 + | +65 | :Nth-Child(2n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:1 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:1 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:1 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:1 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:1 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:1 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:1 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:2 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:12 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:12 + | +66 | :NTH-CHILD(2n+1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:66:18 + | +66 | :NTH-CHILD(2n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:1 + | +68 | :nth-child(odd) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:1 + | +68 | :nth-child(odd) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:1 + | +68 | :nth-child(odd) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:1 + | +68 | :nth-child(odd) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:1 + | +68 | :nth-child(odd) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:1 + | +68 | :nth-child(odd) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:1 + | +68 | :nth-child(odd) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:2 + | +68 | :nth-child(odd) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:12 + | +68 | :nth-child(odd) {} + | ^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:12 + | +68 | :nth-child(odd) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:68:17 + | +68 | :nth-child(odd) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:1 + | +69 | :nth-child(ODD) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:1 + | +69 | :nth-child(ODD) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:1 + | +69 | :nth-child(ODD) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:1 + | +69 | :nth-child(ODD) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:1 + | +69 | :nth-child(ODD) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:1 + | +69 | :nth-child(ODD) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:1 + | +69 | :nth-child(ODD) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:2 + | +69 | :nth-child(ODD) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:12 + | +69 | :nth-child(ODD) {} + | ^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:12 + | +69 | :nth-child(ODD) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:69:17 + | +69 | :nth-child(ODD) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:1 + | +70 | :nth-child(oDd) {} + | ^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:1 + | +70 | :nth-child(oDd) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:1 + | +70 | :nth-child(oDd) {} + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:1 + | +70 | :nth-child(oDd) {} + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:1 + | +70 | :nth-child(oDd) {} + | ^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:1 + | +70 | :nth-child(oDd) {} + | ^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:1 + | +70 | :nth-child(oDd) {} + | ^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:2 + | +70 | :nth-child(oDd) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:12 + | +70 | :nth-child(oDd) {} + | ^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:12 + | +70 | :nth-child(oDd) {} + | ^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:70:17 + | +70 | :nth-child(oDd) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:1 + | +71 | :nth-child(even) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:1 + | +71 | :nth-child(even) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:1 + | +71 | :nth-child(even) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:1 + | +71 | :nth-child(even) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:1 + | +71 | :nth-child(even) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:1 + | +71 | :nth-child(even) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:1 + | +71 | :nth-child(even) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:2 + | +71 | :nth-child(even) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:12 + | +71 | :nth-child(even) {} + | ^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:12 + | +71 | :nth-child(even) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:71:18 + | +71 | :nth-child(even) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:1 + | +72 | :nth-child(eVeN) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:1 + | +72 | :nth-child(eVeN) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:1 + | +72 | :nth-child(eVeN) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:1 + | +72 | :nth-child(eVeN) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:1 + | +72 | :nth-child(eVeN) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:1 + | +72 | :nth-child(eVeN) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:1 + | +72 | :nth-child(eVeN) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:2 + | +72 | :nth-child(eVeN) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:12 + | +72 | :nth-child(eVeN) {} + | ^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:12 + | +72 | :nth-child(eVeN) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:72:18 + | +72 | :nth-child(eVeN) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:1 + | +73 | :nth-child(EVEN) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:1 + | +73 | :nth-child(EVEN) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:1 + | +73 | :nth-child(EVEN) {} + | ^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:1 + | +73 | :nth-child(EVEN) {} + | ^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:1 + | +73 | :nth-child(EVEN) {} + | ^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:1 + | +73 | :nth-child(EVEN) {} + | ^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:1 + | +73 | :nth-child(EVEN) {} + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:2 + | +73 | :nth-child(EVEN) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:12 + | +73 | :nth-child(EVEN) {} + | ^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:12 + | +73 | :nth-child(EVEN) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:73:18 + | +73 | :nth-child(EVEN) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:1 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:1 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:1 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:1 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:1 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:1 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:1 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:2 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:20 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:20 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:75:50 + | +75 | :nth-child(/*test*/2n/*test*/+/*test*/1/*test*/) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:1 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:1 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:1 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:1 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:1 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:1 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:1 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:2 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:25 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:25 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:76:56 + | +76 | :nth-last-child(/*test*/+3n/*test*/-/*test*/2/*test*/) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:1 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:1 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:1 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:1 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:1 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:1 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:1 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:2 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:14 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:14 + | +78 | :nth-child( 2n + 1 ) {} + | ^^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:78:26 + | +78 | :nth-child( 2n + 1 ) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:1 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:1 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:1 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:1 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:1 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:1 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:1 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:2 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:19 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:19 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^^^^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:79:32 + | +79 | :nth-last-child( +3n - 2 ) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:1 + | +81 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:1 + | +81 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:1 + | +81 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:1 + | +81 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:1 + | +81 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:1 + | +81 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:1 + | +81 | :nth-child(-2n+1) {} + | ^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:2 + | +81 | :nth-child(-2n+1) {} + | ^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:12 + | +81 | :nth-child(-2n+1) {} + | ^^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:12 + | +81 | :nth-child(-2n+1) {} + | ^^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:81:19 + | +81 | :nth-child(-2n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:1 + | +82 | :nth-last-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:1 + | +82 | :nth-last-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:1 + | +82 | :nth-last-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:1 + | +82 | :nth-last-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:1 + | +82 | :nth-last-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:1 + | +82 | :nth-last-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:1 + | +82 | :nth-last-child(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:2 + | +82 | :nth-last-child(2n+1) {} + | ^^^^^^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:17 + | +82 | :nth-last-child(2n+1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:17 + | +82 | :nth-last-child(2n+1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:82:23 + | +82 | :nth-last-child(2n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:1 + | +83 | :nth-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:1 + | +83 | :nth-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:1 + | +83 | :nth-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:1 + | +83 | :nth-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:1 + | +83 | :nth-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:1 + | +83 | :nth-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:1 + | +83 | :nth-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:2 + | +83 | :nth-of-type(2n+1) {} + | ^^^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:14 + | +83 | :nth-of-type(2n+1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:14 + | +83 | :nth-of-type(2n+1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:83:20 + | +83 | :nth-of-type(2n+1) {} + | ^^ + +error: Rule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:1 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: StyleRule + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:1 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:1 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:1 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:1 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:1 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoSelector + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:1 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:2 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^^^^^^^^^^^^^ + +error: Nth + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:19 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^ + +error: AnPlusB + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:19 + | +84 | :nth-last-of-type(2n+1) {} + | ^^^^ + +error: Block + --> $DIR/tests/fixture/selector/pseudo-classs/an-plus-b/input.css:84:25 + | +84 | :nth-last-of-type(2n+1) {} + | ^^ + diff --git a/crates/swc_css_parser/tests/fixture/styled-jsx/selector/1/output.json b/crates/swc_css_parser/tests/fixture/styled-jsx/selector/1/output.json index ec24279e1334..e91ba43be967 100644 --- a/crates/swc_css_parser/tests/fixture/styled-jsx/selector/1/output.json +++ b/crates/swc_css_parser/tests/fixture/styled-jsx/selector/1/output.json @@ -57,7 +57,7 @@ "value": "global", "raw": "global" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 8, diff --git a/crates/swc_css_parser/tests/fixture/styled-jsx/selector/2/output.json b/crates/swc_css_parser/tests/fixture/styled-jsx/selector/2/output.json index 725c3770104d..81b27999e8f6 100644 --- a/crates/swc_css_parser/tests/fixture/styled-jsx/selector/2/output.json +++ b/crates/swc_css_parser/tests/fixture/styled-jsx/selector/2/output.json @@ -95,7 +95,7 @@ "value": "global", "raw": "global" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 10, diff --git a/crates/swc_css_parser/tests/fixture/value/custom-property/output.json b/crates/swc_css_parser/tests/fixture/value/custom-property/output.json index b49ff6d29507..67b5fcd49c48 100644 --- a/crates/swc_css_parser/tests/fixture/value/custom-property/output.json +++ b/crates/swc_css_parser/tests/fixture/value/custom-property/output.json @@ -57,15 +57,7 @@ "value": "root", "raw": "root" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/value/custom-property/span.rust-debug b/crates/swc_css_parser/tests/fixture/value/custom-property/span.rust-debug index 08052a0d56e2..37636864bf58 100644 --- a/crates/swc_css_parser/tests/fixture/value/custom-property/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/value/custom-property/span.rust-debug @@ -70,8 +70,6 @@ error: Ident 1 | :root { | ^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/value/custom-property/input.css:1:7 | diff --git a/crates/swc_css_parser/tests/fixture/value/quotes/output.json b/crates/swc_css_parser/tests/fixture/value/quotes/output.json index 04b6ef84de96..9a0962eabf31 100644 --- a/crates/swc_css_parser/tests/fixture/value/quotes/output.json +++ b/crates/swc_css_parser/tests/fixture/value/quotes/output.json @@ -75,15 +75,7 @@ "value": "before", "raw": "before" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/fixture/value/quotes/span.rust-debug b/crates/swc_css_parser/tests/fixture/value/quotes/span.rust-debug index 5f07f2037dd7..0255e2ebb6ea 100644 --- a/crates/swc_css_parser/tests/fixture/value/quotes/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/value/quotes/span.rust-debug @@ -82,8 +82,6 @@ error: Ident 1 | a::before { | ^^^^^^ -error: Tokens - error: Block --> $DIR/tests/fixture/value/quotes/input.css:1:11 | diff --git a/crates/swc_css_parser/tests/recovery/selector/pseudo-class/an-plus-b/input.css b/crates/swc_css_parser/tests/recovery/selector/pseudo-class/an-plus-b/input.css new file mode 100644 index 000000000000..0b38ef2956ab --- /dev/null +++ b/crates/swc_css_parser/tests/recovery/selector/pseudo-class/an-plus-b/input.css @@ -0,0 +1 @@ +:nth-child(unknown) {} diff --git a/crates/swc_css_parser/tests/recovery/selector/pseudo-class/an-plus-b/output.json b/crates/swc_css_parser/tests/recovery/selector/pseudo-class/an-plus-b/output.json new file mode 100644 index 000000000000..92626c1f5989 --- /dev/null +++ b/crates/swc_css_parser/tests/recovery/selector/pseudo-class/an-plus-b/output.json @@ -0,0 +1,101 @@ +{ + "type": "Stylesheet", + "span": { + "start": 0, + "end": 23, + "ctxt": 0 + }, + "rules": [ + { + "type": "StyleRule", + "span": { + "start": 0, + "end": 22, + "ctxt": 0 + }, + "selectors": { + "type": "SelectorList", + "span": { + "start": 0, + "end": 19, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 0, + "end": 19, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 0, + "end": 19, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoSelector", + "span": { + "start": 0, + "end": 19, + "ctxt": 0 + }, + "isElement": false, + "name": { + "type": "Identifier", + "span": { + "start": 1, + "end": 10, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": { + "type": "Tokens", + "span": { + "start": 11, + "end": 18, + "ctxt": 0 + }, + "tokens": [ + { + "span": { + "start": 11, + "end": 18, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "unknown", + "raw": "unknown" + } + } + } + ] + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "Block", + "span": { + "start": 20, + "end": 22, + "ctxt": 0 + }, + "items": [] + } + } + ] +} diff --git a/crates/swc_css_parser/tests/recovery/styled-jsx/1/output.json b/crates/swc_css_parser/tests/recovery/styled-jsx/1/output.json index cd295172cbcb..716ea71b2c71 100644 --- a/crates/swc_css_parser/tests/recovery/styled-jsx/1/output.json +++ b/crates/swc_css_parser/tests/recovery/styled-jsx/1/output.json @@ -257,7 +257,7 @@ "value": "global", "raw": "global" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 135, @@ -603,7 +603,7 @@ "value": "global", "raw": "global" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 332, @@ -858,7 +858,7 @@ "value": "global", "raw": "global" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 461, diff --git a/crates/swc_css_parser/tests/recovery/styled-jsx/2/output.json b/crates/swc_css_parser/tests/recovery/styled-jsx/2/output.json index 66f640441347..5e03902b1700 100644 --- a/crates/swc_css_parser/tests/recovery/styled-jsx/2/output.json +++ b/crates/swc_css_parser/tests/recovery/styled-jsx/2/output.json @@ -96,7 +96,7 @@ "value": "global", "raw": "global" }, - "args": { + "children": { "type": "Tokens", "span": { "start": 11, diff --git a/crates/swc_css_parser/tests/recovery/value/quotes/output.json b/crates/swc_css_parser/tests/recovery/value/quotes/output.json index ae55be69e5b0..4b376382553a 100644 --- a/crates/swc_css_parser/tests/recovery/value/quotes/output.json +++ b/crates/swc_css_parser/tests/recovery/value/quotes/output.json @@ -75,15 +75,7 @@ "value": "before", "raw": "before" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } diff --git a/crates/swc_css_parser/tests/recovery/vercel/001/output.json b/crates/swc_css_parser/tests/recovery/vercel/001/output.json index 4336c2c29447..ad236c741808 100644 --- a/crates/swc_css_parser/tests/recovery/vercel/001/output.json +++ b/crates/swc_css_parser/tests/recovery/vercel/001/output.json @@ -131,30 +131,26 @@ "value": "nth-child", "raw": "nth-child" }, - "args": { - "type": "Tokens", + "children": { + "type": "Nth", "span": { "start": 49, "end": 51, "ctxt": 0 }, - "tokens": [ - { - "span": { - "start": 49, - "end": 51, - "ctxt": 0 - }, - "token": { - "Dimension": { - "value": 4.0, - "raw_value": "4", - "unit": "n", - "raw_unit": "n" - } - } - } - ] + "nth": { + "type": "AnPlusB", + "span": { + "start": 49, + "end": 51, + "ctxt": 0 + }, + "a": 4, + "aRaw": "4", + "b": null, + "bRaw": null + }, + "selectorList": null } } ] @@ -274,15 +270,7 @@ "value": "last-child", "raw": "last-child" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } @@ -401,15 +389,7 @@ "value": "first-child", "raw": "first-child" }, - "args": { - "type": "Tokens", - "span": { - "start": 0, - "end": 0, - "ctxt": 0 - }, - "tokens": [] - } + "children": null } ] } @@ -469,28 +449,26 @@ "value": "nth-child", "raw": "nth-child" }, - "args": { - "type": "Tokens", + "children": { + "type": "Nth", "span": { "start": 186, "end": 187, "ctxt": 0 }, - "tokens": [ - { - "span": { - "start": 186, - "end": 187, - "ctxt": 0 - }, - "token": { - "Num": { - "value": 5.0, - "raw": "5" - } - } - } - ] + "nth": { + "type": "AnPlusB", + "span": { + "start": 186, + "end": 187, + "ctxt": 0 + }, + "a": null, + "aRaw": null, + "b": 5, + "bRaw": "5" + }, + "selectorList": null } } ] @@ -551,28 +529,26 @@ "value": "nth-child", "raw": "nth-child" }, - "args": { - "type": "Tokens", + "children": { + "type": "Nth", "span": { "start": 211, "end": 212, "ctxt": 0 }, - "tokens": [ - { - "span": { - "start": 211, - "end": 212, - "ctxt": 0 - }, - "token": { - "Num": { - "value": 9.0, - "raw": "9" - } - } - } - ] + "nth": { + "type": "AnPlusB", + "span": { + "start": 211, + "end": 212, + "ctxt": 0 + }, + "a": null, + "aRaw": null, + "b": 9, + "bRaw": "9" + }, + "selectorList": null } } ] @@ -633,28 +609,26 @@ "value": "nth-child", "raw": "nth-child" }, - "args": { - "type": "Tokens", + "children": { + "type": "Nth", "span": { "start": 236, "end": 238, "ctxt": 0 }, - "tokens": [ - { - "span": { - "start": 236, - "end": 238, - "ctxt": 0 - }, - "token": { - "Num": { - "value": 13.0, - "raw": "13" - } - } - } - ] + "nth": { + "type": "AnPlusB", + "span": { + "start": 236, + "end": 238, + "ctxt": 0 + }, + "a": null, + "aRaw": null, + "b": 13, + "bRaw": "13" + }, + "selectorList": null } } ] diff --git a/crates/swc_css_visit/src/lib.rs b/crates/swc_css_visit/src/lib.rs index 1aba2c25bd58..4d590611c83c 100644 --- a/crates/swc_css_visit/src/lib.rs +++ b/crates/swc_css_visit/src/lib.rs @@ -233,11 +233,37 @@ define!({ pub modifier: Option, } + pub enum PseudoSelectorChildren { + Nth(Nth), + + Tokens(Tokens), + } + + pub struct Nth { + pub span: Span, + pub nth: NthValue, + pub selector_list: Option, + } + + pub enum NthValue { + AnPlusB(AnPlusB), + + Ident(Ident), + } + + pub struct AnPlusB { + pub span: Span, + pub a: Option, + pub a_raw: Option, + pub b: Option, + pub b_raw: Option, + } + pub struct PseudoSelector { pub span: Span, pub is_element: bool, pub name: Ident, - pub args: Tokens, + pub children: Option, } pub struct IdSelector {