refactor(control_tree): use ASTNode::span SSOT
This commit is contained in:
@ -292,7 +292,7 @@ impl StepTreeBuilderBox {
|
|||||||
other => (
|
other => (
|
||||||
StepNode::Stmt {
|
StepNode::Stmt {
|
||||||
kind: StepStmtKind::Other(ast_kind_name(other)),
|
kind: StepStmtKind::Other(ast_kind_name(other)),
|
||||||
span: span_of(other),
|
span: other.span(),
|
||||||
},
|
},
|
||||||
StepTreeFeatures::default(),
|
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 {
|
impl StepNode {
|
||||||
fn with_span(self, span: Span) -> StepNode {
|
fn with_span(self, span: Span) -> StepNode {
|
||||||
match self {
|
match self {
|
||||||
|
|||||||
Reference in New Issue
Block a user