codeprism_core/linkers/
mod.rs1use crate::ast::{Edge, Node};
4use crate::error::Result;
5
6pub mod symbol_resolver;
7
8pub use symbol_resolver::SymbolResolver;
9
10pub trait Linker: Send + Sync {
12 fn name(&self) -> &str;
14
15 fn find_edges(&self, nodes: &[Node]) -> Result<Vec<Edge>>;
17}
18
19pub struct RestLinker;
21
22impl Linker for RestLinker {
23 fn name(&self) -> &str {
24 "REST"
25 }
26
27 fn find_edges(&self, _nodes: &[Node]) -> Result<Vec<Edge>> {
28 Ok(Vec::new())
30 }
31}
32
33pub struct SqlLinker;
35
36impl Linker for SqlLinker {
37 fn name(&self) -> &str {
38 "SQL"
39 }
40
41 fn find_edges(&self, _nodes: &[Node]) -> Result<Vec<Edge>> {
42 Ok(Vec::new())
44 }
45}