diff --git a/src/mir/control_tree/step_tree.rs b/src/mir/control_tree/step_tree.rs index 0bccfd43..69581b02 100644 --- a/src/mir/control_tree/step_tree.rs +++ b/src/mir/control_tree/step_tree.rs @@ -292,7 +292,7 @@ impl StepTreeBuilderBox { other => ( StepNode::Stmt { kind: StepStmtKind::Other(ast_kind_name(other)), - span: span_of(other), + span: other.span(), }, StepTreeFeatures::default(), ), @@ -399,55 +399,6 @@ fn ast_kind_name(ast: &ASTNode) -> &'static str { } } -fn span_of(ast: &ASTNode) -> Span { - match ast { - ASTNode::Program { span, .. } => span.clone(), - ASTNode::Assignment { span, .. } => span.clone(), - ASTNode::Print { span, .. } => span.clone(), - ASTNode::If { span, .. } => span.clone(), - ASTNode::Loop { span, .. } => span.clone(), - ASTNode::While { span, .. } => span.clone(), - ASTNode::ForRange { span, .. } => span.clone(), - ASTNode::Return { span, .. } => span.clone(), - ASTNode::Break { span } => span.clone(), - ASTNode::Continue { span } => span.clone(), - ASTNode::UsingStatement { span, .. } => span.clone(), - ASTNode::ImportStatement { span, .. } => span.clone(), - ASTNode::Nowait { span, .. } => span.clone(), - ASTNode::AwaitExpression { span, .. } => span.clone(), - ASTNode::QMarkPropagate { span, .. } => span.clone(), - ASTNode::MatchExpr { span, .. } => span.clone(), - ASTNode::ArrayLiteral { span, .. } => span.clone(), - ASTNode::MapLiteral { span, .. } => span.clone(), - ASTNode::Lambda { span, .. } => span.clone(), - ASTNode::Arrow { span, .. } => span.clone(), - ASTNode::TryCatch { span, .. } => span.clone(), - ASTNode::Throw { span, .. } => span.clone(), - ASTNode::BoxDeclaration { span, .. } => span.clone(), - ASTNode::FunctionDeclaration { span, .. } => span.clone(), - ASTNode::GlobalVar { span, .. } => span.clone(), - ASTNode::Literal { span, .. } => span.clone(), - ASTNode::Variable { span, .. } => span.clone(), - ASTNode::UnaryOp { span, .. } => span.clone(), - ASTNode::BinaryOp { span, .. } => span.clone(), - ASTNode::GroupedAssignmentExpr { span, .. } => span.clone(), - ASTNode::MethodCall { span, .. } => span.clone(), - ASTNode::Call { span, .. } => span.clone(), - ASTNode::FunctionCall { span, .. } => span.clone(), - ASTNode::FieldAccess { span, .. } => span.clone(), - ASTNode::Index { span, .. } => span.clone(), - ASTNode::New { span, .. } => span.clone(), - ASTNode::This { span } => span.clone(), - ASTNode::Me { span } => span.clone(), - ASTNode::FromCall { span, .. } => span.clone(), - ASTNode::ThisField { span, .. } => span.clone(), - ASTNode::MeField { span, .. } => span.clone(), - ASTNode::Local { span, .. } => span.clone(), - ASTNode::ScopeBox { span, .. } => span.clone(), - ASTNode::Outbox { span, .. } => span.clone(), - } -} - impl StepNode { fn with_span(self, span: Span) -> StepNode { match self {