add check step to all type comparisons

This commit is contained in:
2025-08-19 22:44:05 -06:00
parent df1083df3b
commit 05856f5d07

View File

@@ -89,6 +89,7 @@ class TypeSystem {
this.result[comparison.right.name] = comparison.left;
comparison.right = comparison.left;
}
// check
if (
comparison.left.typeUsage !== "UnknownTypeUsage" &&
comparison.right.typeUsage !== "UnknownTypeUsage"
@@ -121,6 +122,13 @@ class TypeSystem {
comparison.left.arguments[comparison.operation.argNum];
comparison.right = comparison.left.arguments[comparison.operation.argNum];
}
// check
if (
argument.typeUsage !== "UnknownTypeUsage" &&
comparison.right.typeUsage !== "UnknownTypeUsage"
) {
compareTypes(argument, comparison.right);
}
}
// return type
if (comparison.operation.operation === "return") {
@@ -145,6 +153,13 @@ class TypeSystem {
this.result[comparison.right.name] = comparison.left.returnType;
comparison.right = comparison.left.returnType;
}
// check
if (
comparison.left.returnType.typeUsage !== "UnknownTypeUsage" &&
comparison.right.typeUsage !== "UnknownTypeUsage"
) {
compareTypes(comparison.left.returnType, comparison.right);
}
}
if (
comparison.left.typeUsage === "UnknownTypeUsage" ||