-
Notifications
You must be signed in to change notification settings - Fork 658
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Superfluous contants like `ADDRESS_TYPE` in checker.rs are removed, along with some of the `assert_*_type` methods. TypeChecker's implementation of ExpressionVisitor has `Output = Type` rather than `Output = Some(Type)`, and its methods return `Type::Err` on errors rather than None. Many functions in that implementation have a simpler implementation with fewer levels of nesting. Introduced new errors for TypeCheckerError: `type_should_be2` is a replacement for `type_should_be` with a better message. Also various `_mismatch` errors for operators with incorrectly typed operands. Introduce `equal_user` for comparing whether two types are equal as seen by the user - only difference between the older eq_flat is it takes into account current program name when comparing composite types Display CompositeType with program name if present. Parse CompositeType without program name if it's not present. Catch type errors previously not caught: * transition call after async function call (this should eventually be allowed, but it will require changes to codegen) * Abs operand type * Binary operation operand type * Comparing record types with the same name but different programs * Ternary conditional operands not being the same type (Some of these errors were caught before only in the case that their visitor received an expected type as addtional input.)
- Loading branch information
1 parent
26ce60d
commit ca42492
Showing
185 changed files
with
2,463 additions
and
2,328 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.