qlty_analysis/code/
node_ext.rs

1use crate::Language;
2
3pub trait NodeExt {
4    fn is_if_statement_alternative(&self, language: &Box<dyn Language + Sync>) -> bool;
5}
6
7impl NodeExt for tree_sitter::Node<'_> {
8    fn is_if_statement_alternative(&self, language: &Box<dyn Language + Sync>) -> bool {
9        if let Some(parent) = self.parent() {
10            if let Some(alternative) = parent.child_by_field_name("alternative") {
11                return language.if_nodes().contains(&parent.kind()) && alternative == *self;
12            }
13        }
14
15        false
16    }
17}