Initial SFERA platform baseline

This commit is contained in:
2026-05-16 19:03:49 +03:00
commit 3b845c8fce
282 changed files with 55045 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
use serde::Serialize;
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct SourceRange {
pub line_start: usize,
pub line_end: usize,
pub column_start: usize,
pub column_end: usize,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct ParsedProcedure {
pub name: String,
pub export: bool,
pub is_function: bool,
pub parameters: Vec<String>,
pub source_range: SourceRange,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct ParsedCall {
pub caller: String,
pub callee: String,
pub source_range: SourceRange,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct ParsedQuery {
pub owner_procedure: String,
pub query_text: String,
pub tables: Vec<String>,
pub source_range: SourceRange,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct ParsedWrite {
pub owner_procedure: String,
pub target: String,
pub write_type: String,
pub source_range: SourceRange,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct ParseDiagnostic {
pub code: String,
pub message: String,
pub severity: String,
pub source_range: Option<SourceRange>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
pub struct ParsedSemanticUnit {
pub source_path: String,
pub procedures: Vec<ParsedProcedure>,
pub calls: Vec<ParsedCall>,
pub queries: Vec<ParsedQuery>,
pub writes: Vec<ParsedWrite>,
pub diagnostics: Vec<ParseDiagnostic>,
}