From 6c32b35bd7711d1fb73bf505a0f2638b4a40e507 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 7 Jan 2024 17:29:57 +0000 Subject: Pass TypeInfos into commonSupertype() --- .../compiler/typechecker/TypeCheckerTryTests.java | 10 +++++---- .../compiler/types/CommonSupertypeTests.java | 25 ++++++++++++++++------ 2 files changed, 25 insertions(+), 10 deletions(-) (limited to 'src/test/java') 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)); } -- cgit v1.2.3