Refrencing and LocalScope

This commit is contained in:
2026-04-15 11:18:20 +02:00
parent 7ce90478f0
commit cb03653e88
3 changed files with 53 additions and 22 deletions
+14 -1
View File
@@ -1,6 +1,9 @@
use std::{collections::HashMap, sync::Arc};
use crate::top_level::{FunctionSymbol, StructSymbol, TopLevelSymbolScope, TypeSymbol, VarSymbol};
use crate::{
scope::Refrence,
top_level::{FunctionSymbol, StructSymbol, TopLevelSymbolScope, TypeSymbol, VarSymbol},
};
#[derive(Clone, Debug)]
pub enum TypeRef {
@@ -158,4 +161,14 @@ impl TopLevelHirScope {
}
}
}
pub fn get_refrence(&self, name: &String) -> Option<Refrence> {
if let Some(r) = self.functions.get(name) {
Some(Refrence::Func(r.clone()))
} else if let Some(r) = self.types.get(name) {
Some(Refrence::Type(r.clone()))
} else {
None
}
}
}