Skip to content

Commit 32366f5

Browse files
Kristoffer StrömKristoffer Ström
authored andcommitted
add methods to TypeMap
1 parent abdd46e commit 32366f5

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

clarity/src/vm/analysis/type_checker/contexts.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,25 @@ impl TypeMap {
8686
}
8787
}
8888

89+
/// Like set_type but forcing a change if already set
90+
pub fn override_type(&mut self, expr: &SymbolicExpression, type_sig: TypeSignature) {
91+
match self.map {
92+
TypeMapDataType::Map(ref mut map) => {
93+
map.insert(expr.id, type_sig);
94+
}
95+
TypeMapDataType::Set(ref mut map) => {
96+
map.insert(expr.id);
97+
}
98+
}
99+
}
100+
101+
pub fn get_type(&self, expr: &SymbolicExpression) -> Option<&TypeSignature> {
102+
match self.map {
103+
TypeMapDataType::Map(ref map) => map.get(&expr.id),
104+
_ => None,
105+
}
106+
}
107+
89108
pub fn get_type_expected(&self, expr: &SymbolicExpression) -> Option<&TypeSignature> {
90109
match self.map {
91110
TypeMapDataType::Map(ref map) => map.get(&expr.id),

0 commit comments

Comments
 (0)