diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-06-12 16:33:54 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-06-12 16:33:54 +0100 |
| commit | 3524b4643547d5cdf228434447ce5a1aa4f64578 (patch) | |
| tree | dd8ae7faf1f1a2e906f374c3fdf1d759b85807b0 | |
| parent | 1eeb7180140b4f6dad892010c1e60e03c2fa1bbe (diff) | |
Loosen type of submatchers
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java | 12 |
1 files changed, 9 insertions, 3 deletions
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) ); } - } |
