use crate::model::Language;
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct ImportInfo {
pub source_file: String,
pub imported_names: Vec<String>,
pub line: u32,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct CallInfo {
pub caller_qn: Option<String>,
pub callee_name: String,
pub line: u32,
pub args: Vec<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct AssignInfo {
pub target_name: String,
pub source_name: String,
pub line: u32,
pub is_return_assign: bool,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct ExternInfo {
pub language: Language,
pub names: Vec<String>,
pub line: u32,
pub signature: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct ReadInfo {
pub reader_qn: Option<String>,
pub var_name: String,
pub line: u32,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct WriteInfo {
pub writer_qn: Option<String>,
pub var_name: String,
pub line: u32,
}