From 3524b4643547d5cdf228434447ce5a1aa4f64578 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 12 Jun 2026 16:33:54 +0100 Subject: Loosen type of submatchers --- .../JavaPreciselyMatchersGenerator.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java index 827e79e..353fae1 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java @@ -125,7 +125,10 @@ public class JavaPreciselyMatchersGenerator implements Generator { matcherTypeName, JavaVisibility.PRIVATE, List.of( - new JavaParam(JavaTypeRef.list(matcherRef(javaStructTypeRef)), "submatchers") + new JavaParam( + JavaTypeRef.list(matcherRef(JavaTypeArg.superType(javaStructTypeRef))), + "submatchers" + ) ), new JavaBlock(List.of()) ), @@ -210,11 +213,14 @@ public class JavaPreciselyMatchersGenerator implements Generator { private static final JavaTypeRef MATCH_RESULT_REF = JavaTypeRef.topLevel(PRECISELY_PACKAGE_NAME, "MatchResult"); private static JavaTypeRef matcherRef(JavaTypeRef arg) { + return matcherRef(JavaTypeArg.invariant(arg)); + } + + private static JavaTypeRef matcherRef(JavaTypeArg arg) { return JavaTypeRef.topLevelGeneric( PRECISELY_PACKAGE_NAME, "Matcher", - List.of(JavaTypeArg.invariant(arg)) + List.of(arg) ); } - } -- cgit v1.2.3