cairo-lang-syntax 2.18.0

Cairo syntax representation.
Documentation
// Autogenerated file. To regenerate, please run `cargo run --bin generate-syntax`.
use super::kind::SyntaxKind;
/// Gets the vector of children ids that are the indexing key for this SyntaxKind.
///
/// Each SyntaxKind has some children that are defined in the spec to be its indexing key
/// for its stable pointer. See [super::stable_ptr].
pub fn key_fields_range(kind: SyntaxKind) -> core::ops::Range<usize> {
    match kind {
        SyntaxKind::Trivia => 0..0,
        SyntaxKind::ExprList => 0..0,
        SyntaxKind::Arg => 0..0,
        SyntaxKind::ArgClauseNamed => 0..0,
        SyntaxKind::ArgClauseUnnamed => 0..0,
        SyntaxKind::ArgClauseFieldInitShorthand => 0..0,
        SyntaxKind::ExprFieldInitShorthand => 0..0,
        SyntaxKind::ArgList => 0..0,
        SyntaxKind::ExprMissing => 0..0,
        SyntaxKind::PathSegmentSimple => 0..0,
        SyntaxKind::OptionTerminalColonColonEmpty => 0..0,
        SyntaxKind::PathSegmentWithGenericArgs => 0..0,
        SyntaxKind::ExprPath => 0..0,
        SyntaxKind::OptionTerminalDollarEmpty => 0..0,
        SyntaxKind::PathSegmentMissing => 0..0,
        SyntaxKind::ExprPathInner => 0..0,
        SyntaxKind::ExprParenthesized => 0..0,
        SyntaxKind::ExprUnary => 0..0,
        SyntaxKind::ExprBinary => 0..0,
        SyntaxKind::ExprListParenthesized => 0..0,
        SyntaxKind::ExprFunctionCall => 0..0,
        SyntaxKind::ArgListParenthesized => 0..0,
        SyntaxKind::OptionArgListParenthesizedEmpty => 0..0,
        SyntaxKind::ExprStructCtorCall => 0..0,
        SyntaxKind::StructArgListBraced => 0..0,
        SyntaxKind::ExprBlock => 0..0,
        SyntaxKind::ExprMatch => 0..0,
        SyntaxKind::MatchArms => 0..0,
        SyntaxKind::MatchArm => 0..0,
        SyntaxKind::ExprIf => 0..0,
        SyntaxKind::ConditionListAnd => 0..0,
        SyntaxKind::ConditionLet => 0..0,
        SyntaxKind::ConditionExpr => 0..0,
        SyntaxKind::ExprLoop => 0..0,
        SyntaxKind::ExprWhile => 0..0,
        // Key fields: pattern, identifier.
        SyntaxKind::ExprFor => 1..3,
        SyntaxKind::ElseClause => 0..0,
        SyntaxKind::OptionElseClauseEmpty => 0..0,
        SyntaxKind::ExprErrorPropagate => 0..0,
        SyntaxKind::ExprIndexed => 0..0,
        SyntaxKind::ExprFixedSizeArray => 0..0,
        SyntaxKind::FixedSizeArraySize => 0..0,
        SyntaxKind::OptionFixedSizeArraySizeEmpty => 0..0,
        SyntaxKind::ExprClosure => 0..0,
        SyntaxKind::ClosureParams => 0..0,
        SyntaxKind::StructArgExpr => 0..0,
        SyntaxKind::OptionStructArgExprEmpty => 0..0,
        // Key fields: identifier.
        SyntaxKind::StructArgSingle => 0..1,
        SyntaxKind::StructArgTail => 0..0,
        SyntaxKind::StructArgList => 0..0,
        SyntaxKind::ArgListBraced => 0..0,
        SyntaxKind::ArgListBracketed => 0..0,
        SyntaxKind::WrappedArgListMissing => 0..0,
        // Key fields: name.
        SyntaxKind::PatternIdentifier => 1..2,
        SyntaxKind::PatternStruct => 0..0,
        SyntaxKind::PatternStructParamList => 0..0,
        SyntaxKind::PatternTuple => 0..0,
        SyntaxKind::PatternFixedSizeArray => 0..0,
        SyntaxKind::PatternList => 0..0,
        SyntaxKind::PatternListOr => 0..0,
        SyntaxKind::PatternStructParamWithExpr => 0..0,
        SyntaxKind::PatternEnum => 0..0,
        SyntaxKind::PatternEnumInnerPattern => 0..0,
        SyntaxKind::OptionPatternEnumInnerPatternEmpty => 0..0,
        SyntaxKind::TypeClause => 0..0,
        SyntaxKind::OptionTypeClauseEmpty => 0..0,
        SyntaxKind::ReturnTypeClause => 0..0,
        SyntaxKind::OptionReturnTypeClauseEmpty => 0..0,
        SyntaxKind::StatementList => 0..0,
        SyntaxKind::StatementMissing => 0..0,
        // Key fields: pattern.
        SyntaxKind::StatementLet => 2..3,
        SyntaxKind::LetElseClause => 0..0,
        SyntaxKind::OptionLetElseClauseEmpty => 0..0,
        SyntaxKind::OptionTerminalSemicolonEmpty => 0..0,
        SyntaxKind::StatementExpr => 0..0,
        SyntaxKind::StatementContinue => 0..0,
        SyntaxKind::ExprClause => 0..0,
        SyntaxKind::OptionExprClauseEmpty => 0..0,
        SyntaxKind::StatementReturn => 0..0,
        SyntaxKind::StatementBreak => 0..0,
        SyntaxKind::StatementItem => 0..0,
        // Key fields: name.
        SyntaxKind::Param => 1..2,
        SyntaxKind::ModifierList => 0..0,
        SyntaxKind::ParamList => 0..0,
        SyntaxKind::ImplicitsClause => 0..0,
        SyntaxKind::ImplicitsList => 0..0,
        SyntaxKind::OptionImplicitsClauseEmpty => 0..0,
        SyntaxKind::OptionTerminalNoPanicEmpty => 0..0,
        SyntaxKind::OptionTerminalConstEmpty => 0..0,
        SyntaxKind::FunctionSignature => 0..0,
        // Key fields: name.
        SyntaxKind::Member => 2..3,
        SyntaxKind::MemberList => 0..0,
        // Key fields: name.
        SyntaxKind::Variant => 1..2,
        SyntaxKind::VariantList => 0..0,
        SyntaxKind::ModuleItemList => 0..0,
        SyntaxKind::ModuleItemMissing => 0..0,
        SyntaxKind::Attribute => 0..0,
        SyntaxKind::AttributeList => 0..0,
        SyntaxKind::VisibilityDefault => 0..0,
        SyntaxKind::VisibilityPubArgumentClause => 0..0,
        SyntaxKind::OptionVisibilityPubArgumentClauseEmpty => 0..0,
        SyntaxKind::VisibilityPub => 0..0,
        // Key fields: name.
        SyntaxKind::ItemModule => 3..4,
        SyntaxKind::ModuleBody => 0..0,
        // Key fields: name.
        SyntaxKind::FunctionDeclaration => 2..3,
        // Key fields: name.
        SyntaxKind::ItemConstant => 3..4,
        // Key fields: declaration.
        SyntaxKind::FunctionWithBody => 2..3,
        // Key fields: declaration.
        SyntaxKind::ItemExternFunction => 3..4,
        // Key fields: name.
        SyntaxKind::ItemExternType => 4..5,
        // Key fields: name.
        SyntaxKind::ItemTrait => 3..4,
        SyntaxKind::TraitBody => 0..0,
        SyntaxKind::TraitItemList => 0..0,
        SyntaxKind::TraitItemMissing => 0..0,
        // Key fields: declaration.
        SyntaxKind::TraitItemFunction => 1..2,
        // Key fields: name.
        SyntaxKind::TraitItemType => 2..3,
        // Key fields: name.
        SyntaxKind::TraitItemConstant => 2..3,
        // Key fields: name.
        SyntaxKind::TraitItemImpl => 2..3,
        // Key fields: name.
        SyntaxKind::ItemImpl => 3..4,
        SyntaxKind::ItemHeaderDoc => 0..0,
        SyntaxKind::ImplBody => 0..0,
        SyntaxKind::ImplItemList => 0..0,
        SyntaxKind::ImplItemMissing => 0..0,
        // Key fields: name.
        SyntaxKind::ItemImplAlias => 3..4,
        // Key fields: name.
        SyntaxKind::ItemStruct => 3..4,
        // Key fields: name.
        SyntaxKind::ItemEnum => 3..4,
        // Key fields: name.
        SyntaxKind::ItemTypeAlias => 3..4,
        // Key fields: use_path.
        SyntaxKind::ItemUse => 4..5,
        // Key fields: ident, alias_clause.
        SyntaxKind::UsePathLeaf => 0..2,
        SyntaxKind::UsePathSingle => 0..0,
        SyntaxKind::UsePathMulti => 0..0,
        SyntaxKind::UsePathStar => 0..0,
        SyntaxKind::UsePathList => 0..0,
        // Key fields: alias.
        SyntaxKind::AliasClause => 1..2,
        SyntaxKind::OptionAliasClauseEmpty => 0..0,
        SyntaxKind::GenericArgNamed => 0..0,
        SyntaxKind::GenericArgUnnamed => 0..0,
        SyntaxKind::GenericArgs => 0..0,
        SyntaxKind::GenericArgList => 0..0,
        SyntaxKind::AssociatedItemConstraint => 0..0,
        SyntaxKind::AssociatedItemConstraints => 0..0,
        SyntaxKind::AssociatedItemConstraintList => 0..0,
        SyntaxKind::OptionAssociatedItemConstraintsEmpty => 0..0,
        SyntaxKind::OptionWrappedGenericParamListEmpty => 0..0,
        SyntaxKind::WrappedGenericParamList => 0..0,
        SyntaxKind::GenericParamList => 0..0,
        // Key fields: name.
        SyntaxKind::GenericParamType => 0..1,
        // Key fields: name.
        SyntaxKind::GenericParamConst => 1..2,
        // Key fields: name.
        SyntaxKind::GenericParamImplNamed => 1..2,
        SyntaxKind::GenericParamImplAnonymous => 0..0,
        SyntaxKind::GenericParamNegativeImpl => 0..0,
        SyntaxKind::TokenList => 0..0,
        SyntaxKind::TokenTreeLeaf => 0..0,
        SyntaxKind::TokenTreeNode => 0..0,
        SyntaxKind::TokenTreeRepetition => 0..0,
        SyntaxKind::TokenTreeParam => 0..0,
        SyntaxKind::TokenTreeMissing => 0..0,
        SyntaxKind::WrappedTokenTreeMissing => 0..0,
        SyntaxKind::ParenthesizedTokenTree => 0..0,
        SyntaxKind::BracedTokenTree => 0..0,
        SyntaxKind::BracketedTokenTree => 0..0,
        SyntaxKind::ExprInlineMacro => 0..0,
        SyntaxKind::ItemInlineMacro => 0..0,
        // Key fields: name.
        SyntaxKind::ItemMacroDeclaration => 3..4,
        SyntaxKind::MacroRulesList => 0..0,
        SyntaxKind::MacroRule => 0..0,
        SyntaxKind::ParamKind => 0..0,
        SyntaxKind::OptionParamKindEmpty => 0..0,
        SyntaxKind::MacroParam => 0..0,
        SyntaxKind::MacroRepetition => 0..0,
        SyntaxKind::OptionTerminalCommaEmpty => 0..0,
        SyntaxKind::MacroRepetitionOperatorMissing => 0..0,
        SyntaxKind::ParamIdent => 0..0,
        SyntaxKind::ParamExpr => 0..0,
        SyntaxKind::MacroParamKindMissing => 0..0,
        SyntaxKind::MacroElements => 0..0,
        SyntaxKind::MacroWrapper => 0..0,
        SyntaxKind::ParenthesizedMacro => 0..0,
        SyntaxKind::BracedMacro => 0..0,
        SyntaxKind::BracketedMacro => 0..0,
        SyntaxKind::LegacyExprInlineMacro => 0..0,
        SyntaxKind::LegacyItemInlineMacro => 0..0,
        SyntaxKind::TriviumSkippedNode => 0..0,
        SyntaxKind::TokenIdentifier => 0..0,
        SyntaxKind::TerminalIdentifier => 0..0,
        SyntaxKind::TokenLiteralNumber => 0..0,
        SyntaxKind::TerminalLiteralNumber => 0..0,
        SyntaxKind::TokenShortString => 0..0,
        SyntaxKind::TerminalShortString => 0..0,
        SyntaxKind::TokenString => 0..0,
        SyntaxKind::TerminalString => 0..0,
        SyntaxKind::TokenAs => 0..0,
        SyntaxKind::TerminalAs => 0..0,
        SyntaxKind::TokenConst => 0..0,
        SyntaxKind::TerminalConst => 0..0,
        SyntaxKind::TokenElse => 0..0,
        SyntaxKind::TerminalElse => 0..0,
        SyntaxKind::TokenEnum => 0..0,
        SyntaxKind::TerminalEnum => 0..0,
        SyntaxKind::TokenExtern => 0..0,
        SyntaxKind::TerminalExtern => 0..0,
        SyntaxKind::TokenFalse => 0..0,
        SyntaxKind::TerminalFalse => 0..0,
        SyntaxKind::TokenFunction => 0..0,
        SyntaxKind::TerminalFunction => 0..0,
        SyntaxKind::TokenIf => 0..0,
        SyntaxKind::TerminalIf => 0..0,
        SyntaxKind::TokenWhile => 0..0,
        SyntaxKind::TerminalWhile => 0..0,
        SyntaxKind::TokenFor => 0..0,
        SyntaxKind::TerminalFor => 0..0,
        SyntaxKind::TokenLoop => 0..0,
        SyntaxKind::TerminalLoop => 0..0,
        SyntaxKind::TokenImpl => 0..0,
        SyntaxKind::TerminalImpl => 0..0,
        SyntaxKind::TokenImplicits => 0..0,
        SyntaxKind::TerminalImplicits => 0..0,
        SyntaxKind::TokenLet => 0..0,
        SyntaxKind::TerminalLet => 0..0,
        SyntaxKind::TokenMacro => 0..0,
        SyntaxKind::TerminalMacro => 0..0,
        SyntaxKind::TokenMatch => 0..0,
        SyntaxKind::TerminalMatch => 0..0,
        SyntaxKind::TokenModule => 0..0,
        SyntaxKind::TerminalModule => 0..0,
        SyntaxKind::TokenMut => 0..0,
        SyntaxKind::TerminalMut => 0..0,
        SyntaxKind::TokenNoPanic => 0..0,
        SyntaxKind::TerminalNoPanic => 0..0,
        SyntaxKind::TokenOf => 0..0,
        SyntaxKind::TerminalOf => 0..0,
        SyntaxKind::TokenRef => 0..0,
        SyntaxKind::TerminalRef => 0..0,
        SyntaxKind::TokenContinue => 0..0,
        SyntaxKind::TerminalContinue => 0..0,
        SyntaxKind::TokenReturn => 0..0,
        SyntaxKind::TerminalReturn => 0..0,
        SyntaxKind::TokenBreak => 0..0,
        SyntaxKind::TerminalBreak => 0..0,
        SyntaxKind::TokenStruct => 0..0,
        SyntaxKind::TerminalStruct => 0..0,
        SyntaxKind::TokenTrait => 0..0,
        SyntaxKind::TerminalTrait => 0..0,
        SyntaxKind::TokenTrue => 0..0,
        SyntaxKind::TerminalTrue => 0..0,
        SyntaxKind::TokenType => 0..0,
        SyntaxKind::TerminalType => 0..0,
        SyntaxKind::TokenUse => 0..0,
        SyntaxKind::TerminalUse => 0..0,
        SyntaxKind::TokenPub => 0..0,
        SyntaxKind::TerminalPub => 0..0,
        SyntaxKind::TokenAnd => 0..0,
        SyntaxKind::TerminalAnd => 0..0,
        SyntaxKind::TokenAndAnd => 0..0,
        SyntaxKind::TerminalAndAnd => 0..0,
        SyntaxKind::TokenArrow => 0..0,
        SyntaxKind::TerminalArrow => 0..0,
        SyntaxKind::TokenAt => 0..0,
        SyntaxKind::TerminalAt => 0..0,
        SyntaxKind::TokenBadCharacters => 0..0,
        SyntaxKind::TerminalBadCharacters => 0..0,
        SyntaxKind::TokenColon => 0..0,
        SyntaxKind::TerminalColon => 0..0,
        SyntaxKind::TokenColonColon => 0..0,
        SyntaxKind::TerminalColonColon => 0..0,
        SyntaxKind::TokenComma => 0..0,
        SyntaxKind::TerminalComma => 0..0,
        SyntaxKind::TokenDiv => 0..0,
        SyntaxKind::TerminalDiv => 0..0,
        SyntaxKind::TokenDivEq => 0..0,
        SyntaxKind::TerminalDivEq => 0..0,
        SyntaxKind::TokenDollar => 0..0,
        SyntaxKind::TerminalDollar => 0..0,
        SyntaxKind::TokenDot => 0..0,
        SyntaxKind::TerminalDot => 0..0,
        SyntaxKind::TokenDotDot => 0..0,
        SyntaxKind::TerminalDotDot => 0..0,
        SyntaxKind::TokenDotDotEq => 0..0,
        SyntaxKind::TerminalDotDotEq => 0..0,
        SyntaxKind::TokenEndOfFile => 0..0,
        SyntaxKind::TerminalEndOfFile => 0..0,
        SyntaxKind::TokenEq => 0..0,
        SyntaxKind::TerminalEq => 0..0,
        SyntaxKind::TokenEqEq => 0..0,
        SyntaxKind::TerminalEqEq => 0..0,
        SyntaxKind::TokenGE => 0..0,
        SyntaxKind::TerminalGE => 0..0,
        SyntaxKind::TokenGT => 0..0,
        SyntaxKind::TerminalGT => 0..0,
        SyntaxKind::TokenHash => 0..0,
        SyntaxKind::TerminalHash => 0..0,
        SyntaxKind::TokenLBrace => 0..0,
        SyntaxKind::TerminalLBrace => 0..0,
        SyntaxKind::TokenLBrack => 0..0,
        SyntaxKind::TerminalLBrack => 0..0,
        SyntaxKind::TokenLE => 0..0,
        SyntaxKind::TerminalLE => 0..0,
        SyntaxKind::TokenLParen => 0..0,
        SyntaxKind::TerminalLParen => 0..0,
        SyntaxKind::TokenLT => 0..0,
        SyntaxKind::TerminalLT => 0..0,
        SyntaxKind::TokenMatchArrow => 0..0,
        SyntaxKind::TerminalMatchArrow => 0..0,
        SyntaxKind::TokenMinus => 0..0,
        SyntaxKind::TerminalMinus => 0..0,
        SyntaxKind::TokenMinusEq => 0..0,
        SyntaxKind::TerminalMinusEq => 0..0,
        SyntaxKind::TokenMod => 0..0,
        SyntaxKind::TerminalMod => 0..0,
        SyntaxKind::TokenModEq => 0..0,
        SyntaxKind::TerminalModEq => 0..0,
        SyntaxKind::TokenMul => 0..0,
        SyntaxKind::TerminalMul => 0..0,
        SyntaxKind::TokenMulEq => 0..0,
        SyntaxKind::TerminalMulEq => 0..0,
        SyntaxKind::TokenNeq => 0..0,
        SyntaxKind::TerminalNeq => 0..0,
        SyntaxKind::TokenNot => 0..0,
        SyntaxKind::TerminalNot => 0..0,
        SyntaxKind::TokenBitNot => 0..0,
        SyntaxKind::TerminalBitNot => 0..0,
        SyntaxKind::TokenOr => 0..0,
        SyntaxKind::TerminalOr => 0..0,
        SyntaxKind::TokenOrOr => 0..0,
        SyntaxKind::TerminalOrOr => 0..0,
        SyntaxKind::TokenPlus => 0..0,
        SyntaxKind::TerminalPlus => 0..0,
        SyntaxKind::TokenPlusEq => 0..0,
        SyntaxKind::TerminalPlusEq => 0..0,
        SyntaxKind::TokenQuestionMark => 0..0,
        SyntaxKind::TerminalQuestionMark => 0..0,
        SyntaxKind::TokenRBrace => 0..0,
        SyntaxKind::TerminalRBrace => 0..0,
        SyntaxKind::TokenRBrack => 0..0,
        SyntaxKind::TerminalRBrack => 0..0,
        SyntaxKind::TokenRParen => 0..0,
        SyntaxKind::TerminalRParen => 0..0,
        SyntaxKind::TokenSemicolon => 0..0,
        SyntaxKind::TerminalSemicolon => 0..0,
        SyntaxKind::TokenUnderscore => 0..0,
        SyntaxKind::TerminalUnderscore => 0..0,
        SyntaxKind::TokenXor => 0..0,
        SyntaxKind::TerminalXor => 0..0,
        SyntaxKind::SyntaxFile => 0..0,
        SyntaxKind::TokenEmpty => 0..0,
        SyntaxKind::TerminalEmpty => 0..0,
        SyntaxKind::TokenSingleLineComment => 0..0,
        SyntaxKind::TokenSingleLineInnerComment => 0..0,
        SyntaxKind::TokenSingleLineDocComment => 0..0,
        SyntaxKind::TokenWhitespace => 0..0,
        SyntaxKind::TokenNewline => 0..0,
        SyntaxKind::TokenMissing => 0..0,
        SyntaxKind::TokenSkipped => 0..0,
    }
}