Fix end location for elif blocks

Since we parse an `elif:` block as an `If` node, its location should
include its `orelse` node like it would for an `if:` block.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
This commit is contained in:
Anders Kaseorg committed 2023-01-17 22:39:44 -05:00
1 parent 59b191c789
commit 16c1e214d6
2 files changed
+3 -3

No files matched your search

+1 -1
View File
@@ -372,7 +372,7 @@ IfStatement: ast::Stmt = {
let x = ast::Stmt {
custom: (),
location: i.0,
end_location: i.4.last().unwrap().end_location,
end_location,
node: ast::StmtKind::If { test: Box::new(i.2), body: i.4, orelse: last },
};
last = vec![x];
@@ -79,8 +79,8 @@ expression: parse_ast
},
end_location: Some(
Location {
row: 2,
column: 10,
row: 3,
column: 8,
},
),
custom: (),