//! > Test parsing of a short code.
//! > test_runner_name
test_full_parser_tree(expect_diagnostics: *)
//! > cairo_code
>>> file: src/parser_test_data/cairo_test_files/short.cairo
//! > print_trivia
false
//! > print_colors
false
//! > expected_diagnostics
//! > expected_tree
└── root (kind: SyntaxFile)
├── items (kind: ModuleItemList)
│ ├── child #0 (kind: ItemUse)
│ │ ├── attributes (kind: AttributeList) []
│ │ ├── visibility (kind: VisibilityDefault) []
│ │ ├── use_kw (kind: TokenUse): 'use'
│ │ ├── dollar (kind: OptionTerminalDollarEmpty) []
│ │ ├── use_path (kind: UsePathSingle)
│ │ │ ├── ident (kind: PathSegmentSimple)
│ │ │ │ └── ident (kind: TokenIdentifier): 'std'
│ │ │ ├── colon_colon (kind: TokenColonColon): '::'
│ │ │ └── use_path (kind: UsePathLeaf)
│ │ │ ├── ident (kind: PathSegmentSimple)
│ │ │ │ └── ident (kind: TokenIdentifier): 'format'
│ │ │ └── alias_clause (kind: OptionAliasClauseEmpty) []
│ │ └── semicolon (kind: TokenSemicolon): ';'
│ └── child #1 (kind: FunctionWithBody)
│ ├── attributes (kind: AttributeList) []
│ ├── visibility (kind: VisibilityDefault) []
│ ├── declaration (kind: FunctionDeclaration)
│ │ ├── optional_const (kind: OptionTerminalConstEmpty) []
│ │ ├── function_kw (kind: TokenFunction): 'fn'
│ │ ├── name (kind: TokenIdentifier): 'foo'
│ │ ├── generic_params (kind: OptionWrappedGenericParamListEmpty) []
│ │ └── signature (kind: FunctionSignature)
│ │ ├── lparen (kind: TokenLParen): '('
│ │ ├── parameters (kind: ParamList)
│ │ │ └── item #0 (kind: Param)
│ │ │ ├── modifiers (kind: ModifierList) []
│ │ │ ├── name (kind: TokenIdentifier): 'a'
│ │ │ └── type_clause (kind: TypeClause)
│ │ │ ├── colon (kind: TokenColon): ':'
│ │ │ └── ty (kind: ExprPath)
│ │ │ ├── dollar (kind: OptionTerminalDollarEmpty) []
│ │ │ └── segments (kind: ExprPathInner)
│ │ │ └── item #0 (kind: PathSegmentSimple)
│ │ │ └── ident (kind: TokenIdentifier): 'int'
│ │ ├── rparen (kind: TokenRParen): ')'
│ │ ├── ret_ty (kind: ReturnTypeClause)
│ │ │ ├── arrow (kind: TokenArrow): '->'
│ │ │ └── ty (kind: ExprPath)
│ │ │ ├── dollar (kind: OptionTerminalDollarEmpty) []
│ │ │ └── segments (kind: ExprPathInner)
│ │ │ └── item #0 (kind: PathSegmentSimple)
│ │ │ └── ident (kind: TokenIdentifier): 'felt252'
│ │ ├── implicits_clause (kind: OptionImplicitsClauseEmpty) []
│ │ └── optional_no_panic (kind: OptionTerminalNoPanicEmpty) []
│ └── body (kind: ExprBlock)
│ ├── lbrace (kind: TokenLBrace): '{'
│ ├── statements (kind: StatementList)
│ │ └── child #0 (kind: StatementReturn)
│ │ ├── attributes (kind: AttributeList) []
│ │ ├── return_kw (kind: TokenReturn): 'return'
│ │ ├── expr_clause (kind: ExprClause)
│ │ │ └── expr (kind: ExprPath)
│ │ │ ├── dollar (kind: OptionTerminalDollarEmpty) []
│ │ │ └── segments (kind: ExprPathInner)
│ │ │ └── item #0 (kind: PathSegmentSimple)
│ │ │ └── ident (kind: TokenIdentifier): 'a'
│ │ └── semicolon (kind: TokenSemicolon): ';'
│ └── rbrace (kind: TokenRBrace): '}'
└── eof (kind: TokenEndOfFile).
//! > ==========================================================================
//! > Test parsing of a short code, colored.
//! > test_runner_name
test_full_parser_tree(expect_diagnostics: *)
//! > cairo_code
>>> file: src/parser_test_data/cairo_test_files/short.cairo
//! > print_trivia
false
//! > print_colors
true
//! > expected_diagnostics
//! > expected_tree
└── [36mroot[0m (kind: SyntaxFile)
├── [36mitems[0m (kind: ModuleItemList)
│ ├── [36mchild #0[0m (kind: ItemUse)
│ │ ├── [36mattributes[0m (kind: AttributeList)[95m [][0m
│ │ ├── [36mvisibility[0m (kind: VisibilityDefault)[95m [][0m
│ │ ├── [34muse_kw[0m (kind: TokenUse): '[1;32muse[0m'
│ │ ├── [36mdollar[0m (kind: OptionTerminalDollarEmpty)[95m [][0m
│ │ ├── [36muse_path[0m (kind: UsePathSingle)
│ │ │ ├── [36mident[0m (kind: PathSegmentSimple)
│ │ │ │ └── [34mident[0m (kind: TokenIdentifier): '[1;32mstd[0m'
│ │ │ ├── [34mcolon_colon[0m (kind: TokenColonColon): '[1;32m::[0m'
│ │ │ └── [36muse_path[0m (kind: UsePathLeaf)
│ │ │ ├── [36mident[0m (kind: PathSegmentSimple)
│ │ │ │ └── [34mident[0m (kind: TokenIdentifier): '[1;32mformat[0m'
│ │ │ └── [36malias_clause[0m (kind: OptionAliasClauseEmpty)[95m [][0m
│ │ └── [34msemicolon[0m (kind: TokenSemicolon): '[1;32m;[0m'
│ └── [36mchild #1[0m (kind: FunctionWithBody)
│ ├── [36mattributes[0m (kind: AttributeList)[95m [][0m
│ ├── [36mvisibility[0m (kind: VisibilityDefault)[95m [][0m
│ ├── [36mdeclaration[0m (kind: FunctionDeclaration)
│ │ ├── [36moptional_const[0m (kind: OptionTerminalConstEmpty)[95m [][0m
│ │ ├── [34mfunction_kw[0m (kind: TokenFunction): '[1;32mfn[0m'
│ │ ├── [34mname[0m (kind: TokenIdentifier): '[1;32mfoo[0m'
│ │ ├── [36mgeneric_params[0m (kind: OptionWrappedGenericParamListEmpty)[95m [][0m
│ │ └── [36msignature[0m (kind: FunctionSignature)
│ │ ├── [34mlparen[0m (kind: TokenLParen): '[1;32m([0m'
│ │ ├── [36mparameters[0m (kind: ParamList)
│ │ │ └── [36mitem #0[0m (kind: Param)
│ │ │ ├── [36mmodifiers[0m (kind: ModifierList)[95m [][0m
│ │ │ ├── [34mname[0m (kind: TokenIdentifier): '[1;32ma[0m'
│ │ │ └── [36mtype_clause[0m (kind: TypeClause)
│ │ │ ├── [34mcolon[0m (kind: TokenColon): '[1;32m:[0m'
│ │ │ └── [36mty[0m (kind: ExprPath)
│ │ │ ├── [36mdollar[0m (kind: OptionTerminalDollarEmpty)[95m [][0m
│ │ │ └── [36msegments[0m (kind: ExprPathInner)
│ │ │ └── [36mitem #0[0m (kind: PathSegmentSimple)
│ │ │ └── [34mident[0m (kind: TokenIdentifier): '[1;32mint[0m'
│ │ ├── [34mrparen[0m (kind: TokenRParen): '[1;32m)[0m'
│ │ ├── [36mret_ty[0m (kind: ReturnTypeClause)
│ │ │ ├── [34marrow[0m (kind: TokenArrow): '[1;32m->[0m'
│ │ │ └── [36mty[0m (kind: ExprPath)
│ │ │ ├── [36mdollar[0m (kind: OptionTerminalDollarEmpty)[95m [][0m
│ │ │ └── [36msegments[0m (kind: ExprPathInner)
│ │ │ └── [36mitem #0[0m (kind: PathSegmentSimple)
│ │ │ └── [34mident[0m (kind: TokenIdentifier): '[1;32mfelt252[0m'
│ │ ├── [36mimplicits_clause[0m (kind: OptionImplicitsClauseEmpty)[95m [][0m
│ │ └── [36moptional_no_panic[0m (kind: OptionTerminalNoPanicEmpty)[95m [][0m
│ └── [36mbody[0m (kind: ExprBlock)
│ ├── [34mlbrace[0m (kind: TokenLBrace): '[1;32m{[0m'
│ ├── [36mstatements[0m (kind: StatementList)
│ │ └── [36mchild #0[0m (kind: StatementReturn)
│ │ ├── [36mattributes[0m (kind: AttributeList)[95m [][0m
│ │ ├── [34mreturn_kw[0m (kind: TokenReturn): '[1;32mreturn[0m'
│ │ ├── [36mexpr_clause[0m (kind: ExprClause)
│ │ │ └── [36mexpr[0m (kind: ExprPath)
│ │ │ ├── [36mdollar[0m (kind: OptionTerminalDollarEmpty)[95m [][0m
│ │ │ └── [36msegments[0m (kind: ExprPathInner)
│ │ │ └── [36mitem #0[0m (kind: PathSegmentSimple)
│ │ │ └── [34mident[0m (kind: TokenIdentifier): '[1;32ma[0m'
│ │ └── [34msemicolon[0m (kind: TokenSemicolon): '[1;32m;[0m'
│ └── [34mrbrace[0m (kind: TokenRBrace): '[1;32m}[0m'
└── [34meof[0m (kind: TokenEndOfFile).