Narrowing works

This commit is contained in:
2026-08-03 08:15:48 +10:00
parent 9bee018c09
commit 45736fbcbc
3 changed files with 141 additions and 81 deletions

View File

@@ -18,6 +18,7 @@ namespace Solstice {
class TypeChecker {
std::unordered_map<std::string, PossibleType> variables;
std::unordered_map<std::string, Type> types;
std::unordered_map<std::string, Function> functions;
std::unordered_map<TypePair, Type> addOverloads;
std::unordered_map<TypePair, Type> subtractOverloads;
@@ -80,5 +81,13 @@ namespace Solstice {
}
void checkTypes();
const Function* getFunction(const std::string& name) const {
auto it = functions.find(name);
if (it == functions.end()) {
return nullptr;
}
return &it->second;
}
};
}