aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-01-07 17:29:57 +0000
committerMichael Williamson <mike@zwobble.org>2024-01-07 17:29:57 +0000
commit6c32b35bd7711d1fb73bf505a0f2638b4a40e507 (patch)
tree413a9c53ce43339d2d309c83cd7baacfe2158c65 /src/test/java
parent87a79dc241771b8b1ab72f27ecd2bcb63c9e8eb8 (diff)
Pass TypeInfos into commonSupertype()
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/typechecker/TypeCheckerTryTests.java10
-rw-r--r--src/test/java/org/shedlang/compiler/types/CommonSupertypeTests.java25
2 files changed, 25 insertions, 10 deletions
diff --git a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerTryTests.java b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerTryTests.java
index 23be48ef..7c1c9bf3 100644
--- a/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerTryTests.java
+++ b/src/test/java/org/shedlang/compiler/typechecker/TypeCheckerTryTests.java
@@ -1,14 +1,16 @@
package org.shedlang.compiler.typechecker;
import org.junit.jupiter.api.Test;
-import org.shedlang.compiler.ast.untyped.*;
-import org.shedlang.compiler.typechecker.errors.*;
+import org.shedlang.compiler.ast.untyped.Untyped;
+import org.shedlang.compiler.ast.untyped.UntypedCallNode;
+import org.shedlang.compiler.ast.untyped.UntypedTryHandlerMethodNode;
+import org.shedlang.compiler.ast.untyped.UntypedTryNode;
import org.shedlang.compiler.typechecker.errors.NoSuchFieldError;
+import org.shedlang.compiler.typechecker.errors.*;
import org.shedlang.compiler.typechecker.typesets.TypeSets;
import org.shedlang.compiler.types.*;
import org.shedlang.compiler.util.P;
-import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -73,7 +75,7 @@ public class TypeCheckerTryTests {
assertThat(
result.value(),
isTypedTryNode()
- .withType(equalTo(Types.commonSupertype(List.of(Types.INT, Types.STRING))))
+ .withType(equalTo(Types.TOP))
);
}
diff --git a/src/test/java/org/shedlang/compiler/types/CommonSupertypeTests.java b/src/test/java/org/shedlang/compiler/types/CommonSupertypeTests.java
index c407408a..a30ecb24 100644
--- a/src/test/java/org/shedlang/compiler/types/CommonSupertypeTests.java
+++ b/src/test/java/org/shedlang/compiler/types/CommonSupertypeTests.java
@@ -1,6 +1,7 @@
package org.shedlang.compiler.types;
import org.junit.jupiter.api.Test;
+import org.shedlang.compiler.typechecker.TypeInfos;
import java.util.List;
@@ -10,42 +11,54 @@ import static org.zwobble.precisely.Matchers.equalTo;
public class CommonSupertypeTests {
@Test
public void commonSupertypeOfNoTypesIsBottom() {
- var result = Types.commonSupertype(List.of());
+ var result = Types.commonSupertype(List.of(), TypeInfos.EMPTY);
assertThat(result, equalTo(Types.BOTTOM));
}
@Test
public void commonSupertypeOfSingleTypeIsThatType() {
- var result = Types.commonSupertype(List.of(Types.INT));
+ var result = Types.commonSupertype(List.of(Types.INT), TypeInfos.EMPTY);
assertThat(result, equalTo(Types.INT));
}
@Test
public void commonSupertypeOfRepeatedTypeIsThatType() {
- var result = Types.commonSupertype(List.of(Types.INT, Types.INT, Types.INT));
+ var result = Types.commonSupertype(
+ List.of(Types.INT, Types.INT, Types.INT),
+ TypeInfos.EMPTY
+ );
assertThat(result, equalTo(Types.INT));
}
@Test
public void commonSupertypeOfUnrelatedTypesIsTop() {
- var result = Types.commonSupertype(List.of(Types.INT, Types.STRING));
+ var result = Types.commonSupertype(
+ List.of(Types.INT, Types.STRING),
+ TypeInfos.EMPTY
+ );
assertThat(result, equalTo(Types.TOP));
}
@Test
public void commonSupertypeOfBottomAndOtherTypeIsOtherType() {
- var result = Types.commonSupertype(List.of(Types.BOTTOM, Types.INT));
+ var result = Types.commonSupertype(
+ List.of(Types.BOTTOM, Types.INT),
+ TypeInfos.EMPTY
+ );
assertThat(result, equalTo(Types.INT));
}
@Test
public void commonSupertypeOfOtherTypeAndBottomIsOtherType() {
- var result = Types.commonSupertype(List.of(Types.INT, Types.BOTTOM));
+ var result = Types.commonSupertype(
+ List.of(Types.INT, Types.BOTTOM),
+ TypeInfos.EMPTY
+ );
assertThat(result, equalTo(Types.INT));
}