llmcc_python/descriptor/
import.rs1#[derive(Debug, Clone)]
2pub struct ImportDescriptor {
3 pub kind: ImportKind,
4 pub module: String,
5 pub names: Vec<String>, pub alias: Option<String>, }
8
9#[derive(Debug, Clone, Copy, PartialEq, Eq)]
10pub enum ImportKind {
11 Simple, From, Relative, }
15
16impl ImportDescriptor {
17 pub fn new(module: String, kind: ImportKind) -> Self {
18 Self {
19 kind,
20 module,
21 names: Vec::new(),
22 alias: None,
23 }
24 }
25
26 pub fn add_name(&mut self, name: String) {
27 self.names.push(name);
28 }
29
30 pub fn set_alias(&mut self, alias: String) {
31 self.alias = Some(alias);
32 }
33}