#![cfg_attr(coverage_nightly, coverage(off))]
use super::complexity::find_brace_balanced_end;
use super::types::{FunctionInfo, LanguageAnalyzer};
use crate::services::complexity::ComplexityMetrics;
pub struct LuaAnalyzer;
pub struct SqlAnalyzer;
pub struct ScalaAnalyzer;
impl LanguageAnalyzer for LuaAnalyzer {
fn extract_functions(&self, content: &str) -> Vec<FunctionInfo> {
#[cfg(feature = "lua-ast")]
{
if let Some(fns) = self.extract_functions_treesitter(content) {
return fns;
}
}
self.extract_functions_heuristic(content)
}
fn estimate_complexity(&self, content: &str, function: &FunctionInfo) -> ComplexityMetrics {
#[cfg(feature = "lua-ast")]
{
if let Some(m) = self.estimate_complexity_treesitter(content, function) {
return m;
}
}
self.estimate_complexity_heuristic(content, function)
}
}
include!("dynamic_lua.rs");
include!("dynamic_sql.rs");
include!("dynamic_scala.rs");