--- source: crates/ruff_python_parser/tests/fixtures.rs input_file: crates/ruff_python_parser/resources/valid/expressions/yield.py --- ## AST ``` Module( ModModule { node_index: AtomicNodeIndex(..), range: 0..166, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 0..5, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 0..5, value: None, }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 6..13, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 6..13, value: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 12..13, id: Name("x"), ctx: Load, }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 14..25, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 14..25, value: Some( BinOp( ExprBinOp { node_index: AtomicNodeIndex(..), range: 20..25, left: Name( ExprName { node_index: AtomicNodeIndex(..), range: 20..21, id: Name("x"), ctx: Load, }, ), op: Add, right: NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 24..25, value: Int( 1, ), }, ), }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 26..39, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 26..39, value: Some( BoolOp( ExprBoolOp { node_index: AtomicNodeIndex(..), range: 32..39, op: And, values: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 32..33, id: Name("x"), ctx: Load, }, ), Name( ExprName { node_index: AtomicNodeIndex(..), range: 38..39, id: Name("y"), ctx: Load, }, ), ], }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 40..52, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 40..52, value: Some( Call( ExprCall { node_index: AtomicNodeIndex(..), range: 46..52, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 46..50, id: Name("call"), ctx: Load, }, ), arguments: Arguments { range: 50..52, node_index: AtomicNodeIndex(..), args: [], keywords: [], }, }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 53..65, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 53..65, value: Some( List( ExprList { node_index: AtomicNodeIndex(..), range: 59..65, elts: [ NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 60..61, value: Int( 1, ), }, ), NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 63..64, value: Int( 2, ), }, ), ], ctx: Load, }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 66..78, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 66..78, value: Some( Set( ExprSet { node_index: AtomicNodeIndex(..), range: 72..78, elts: [ NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 73..74, value: Int( 3, ), }, ), NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 76..77, value: Int( 4, ), }, ), ], }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 79..91, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 79..91, value: Some( Dict( ExprDict { node_index: AtomicNodeIndex(..), range: 85..91, items: [ DictItem { key: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 86..87, id: Name("x"), ctx: Load, }, ), ), value: NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 89..90, value: Int( 5, ), }, ), }, ], }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 92..102, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 92..102, value: Some( Tuple( ExprTuple { node_index: AtomicNodeIndex(..), range: 98..102, elts: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 98..99, id: Name("x"), ctx: Load, }, ), Name( ExprName { node_index: AtomicNodeIndex(..), range: 101..102, id: Name("y"), ctx: Load, }, ), ], ctx: Load, parenthesized: false, }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 103..115, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 103..115, value: Some( Tuple( ExprTuple { node_index: AtomicNodeIndex(..), range: 109..115, elts: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 110..111, id: Name("x"), ctx: Load, }, ), Name( ExprName { node_index: AtomicNodeIndex(..), range: 113..114, id: Name("y"), ctx: Load, }, ), ], ctx: Load, parenthesized: true, }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 116..128, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 116..128, value: Some( Compare( ExprCompare { node_index: AtomicNodeIndex(..), range: 122..128, left: Name( ExprName { node_index: AtomicNodeIndex(..), range: 122..123, id: Name("x"), ctx: Load, }, ), ops: [ Eq, ], comparators: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 127..128, id: Name("y"), ctx: Load, }, ), ], }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 129..143, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 129..143, value: Some( Named( ExprNamed { node_index: AtomicNodeIndex(..), range: 136..142, target: Name( ExprName { node_index: AtomicNodeIndex(..), range: 136..137, id: Name("x"), ctx: Store, }, ), value: NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 141..142, value: Int( 1, ), }, ), }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 144..155, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 144..155, value: Some( Tuple( ExprTuple { node_index: AtomicNodeIndex(..), range: 150..155, elts: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 150..151, id: Name("x"), ctx: Load, }, ), Starred( ExprStarred { node_index: AtomicNodeIndex(..), range: 153..155, value: Name( ExprName { node_index: AtomicNodeIndex(..), range: 154..155, id: Name("y"), ctx: Load, }, ), ctx: Load, }, ), ], ctx: Load, parenthesized: false, }, ), ), }, ), }, ), Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 156..165, value: Yield( ExprYield { node_index: AtomicNodeIndex(..), range: 156..165, value: Some( Tuple( ExprTuple { node_index: AtomicNodeIndex(..), range: 162..165, elts: [ Starred( ExprStarred { node_index: AtomicNodeIndex(..), range: 162..164, value: Name( ExprName { node_index: AtomicNodeIndex(..), range: 163..164, id: Name("x"), ctx: Load, }, ), ctx: Load, }, ), ], ctx: Load, parenthesized: false, }, ), ), }, ), }, ), ], }, ) ```