refactor(control_tree): use ASTNode::span SSOT
This commit is contained in:
@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user