diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-09-30 17:31:10 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-09-30 17:31:10 +0100 |
| commit | ce8dfcfecd0937fbf2f4d5b941517f3750f29af2 (patch) | |
| tree | 62a208d4b517c642d40dc42d0c7fdef6f5943d3c /src/main/java | |
| parent | bc735ece60ac6cc3b0624d01408e2c95cc575533 (diff) | |
Add subtyping for bottom type
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/typechecker/TypeCheckerSubTyping.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeCheckerSubTyping.java b/src/main/java/org/shedlang/compiler/typechecker/TypeCheckerSubTyping.java index c9576191..b73011ce 100644 --- a/src/main/java/org/shedlang/compiler/typechecker/TypeCheckerSubTyping.java +++ b/src/main/java/org/shedlang/compiler/typechecker/TypeCheckerSubTyping.java @@ -8,6 +8,18 @@ public class TypeCheckerSubTyping { } static boolean isSubType(Type subType, Type superType, TypeCheckerContext context) { - return superType == Types.TOP || subType.equals(superType); + if (superType == Types.TOP) { + return true; + } + + if (subType == Types.BOTTOM) { + return true; + } + + if (subType.equals(superType)) { + return true; + } + + return false; } } |
