dictionary: add get_name() & get_varid()

This commit is contained in:
Michael Sippel 2025-06-11 15:02:42 +02:00
parent ce140fef21
commit 4be2e8f939
Signed by: senvas
GPG key ID: F96CF119C34B64A6

View file

@ -14,6 +14,20 @@ pub trait TypeDict : Send + Sync {
fn get_typename(&self, tid: u64) -> Option<String>;
fn get_varname(&self, var_id: u64) -> Option<String>;
fn get_name(&self, id: TypeID) -> Option<String> {
match id {
TypeID::Fun(id) => self.get_typename(id),
TypeID::Var(id) => self.get_varname(id)
}
}
fn get_varid(&self, varname: &str) -> Option<u64> {
match self.get_typeid(varname) {
Some(TypeID::Var(id)) => Some(id),
_ => None
}
}
fn get_typeid_creat(&mut self, tn: &str) -> TypeID {
if let Some(id) = self.get_typeid(tn) {
id