(&self)
| 475 | } |
| 476 | |
| 477 | fn is_all_keywords(&self) -> bool { |
| 478 | match self { |
| 479 | Self::Ident(_) => true, |
| 480 | Self::IntLiteral(_) => false, |
| 481 | Self::DimensionLiteral(_, _) => false, |
| 482 | Self::Function(_, _) => false, |
| 483 | Self::Type(DefType { ident, .. }) => ident.0.ends_with("Keywords"), |
| 484 | Self::FunctionType(_) => false, |
| 485 | Self::StyleValue(_) => false, |
| 486 | Self::AutoOr(def) => def.deref().is_all_keywords(), |
| 487 | Self::NoneOr(def) => def.deref().is_all_keywords(), |
| 488 | Self::AutoNoneOr(def) => def.deref().is_all_keywords(), |
| 489 | Self::NormalOr(def) => def.deref().is_all_keywords(), |
| 490 | // Optional(Ident(kw)) is emitted as Option<crate::Kw>, not via the Keywords enum path. |
| 491 | Self::Optional(def) => match def.as_ref() { |
| 492 | Self::Ident(_) => false, |
| 493 | _ => def.deref().is_all_keywords(), |
| 494 | }, |
| 495 | Self::Combinator(defs, _) => defs.iter().all(Self::is_all_keywords), |
| 496 | Self::Group(def, _) => def.deref().is_all_keywords(), |
| 497 | Self::Multiplier(def, _, _) => def.deref().is_all_keywords(), |
| 498 | Self::Punct(_) => false, |
| 499 | } |
| 500 | } |
| 501 | |
| 502 | fn gather_keywords(&self) -> Vec<&Self> { |
| 503 | match self { |
no test coverage detected