add check step to all type comparisons
This commit is contained in:
@@ -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" ||
|
||||
|
||||
Reference in New Issue
Block a user