cairo-lang-parser 2.9.3

Cairo parser.
Documentation
//! > Test submodule syntax tree.

//! > test_runner_name
test_partial_parser_tree(expect_diagnostics: false)

//! > cairo_code
mod my_mod;

//! > top_level_kind
ItemModule

//! > ignored_kinds

//! > expected_diagnostics

//! > expected_tree
└── Top level kind: ItemModule
    ├── attributes (kind: AttributeList) []
    ├── visibility (kind: VisibilityDefault) []
    ├── module_kw (kind: TokenModule): 'mod'
    ├── name (kind: TokenIdentifier): 'my_mod'
    └── body (kind: TokenSemicolon): ';'

//! > ==========================================================================

//! > Test inline module syntax tree.

//! > test_runner_name
test_partial_parser_tree(expect_diagnostics: false)

//! > cairo_code
mod my_mod {
    trait Foo<T>;
    impl FooImpl<S> of Foo<S> {
        fn foo(a: int) -> felt252 {
            return a;
        }
    }

    fn test() {}

    struct MyStruct {}
}

//! > top_level_kind
ItemModule

//! > ignored_kinds
FunctionWithBody
ItemTrait
ItemImpl
ItemStruct

//! > expected_diagnostics

//! > expected_tree
└── Top level kind: ItemModule
    ├── attributes (kind: AttributeList) []
    ├── visibility (kind: VisibilityDefault) []
    ├── module_kw (kind: TokenModule): 'mod'
    ├── name (kind: TokenIdentifier): 'my_mod'
    └── body (kind: ModuleBody)
        ├── lbrace (kind: TokenLBrace): '{'
        ├── items (kind: ModuleItemList)
        │   ├── child #0 (kind: ItemTrait) <ignored>
        │   ├── child #1 (kind: ItemImpl) <ignored>
        │   ├── child #2 (kind: FunctionWithBody) <ignored>
        │   └── child #3 (kind: ItemStruct) <ignored>
        └── rbrace (kind: TokenRBrace): '}'