summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-06-12 16:33:54 +0100
committerMichael Williamson <mike@zwobble.org>2026-06-12 16:33:54 +0100
commit3524b4643547d5cdf228434447ce5a1aa4f64578 (patch)
treedd8ae7faf1f1a2e906f374c3fdf1d759b85807b0 /src/main
parent1eeb7180140b4f6dad892010c1e60e03c2fa1bbe (diff)
Loosen type of submatchers
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javapreciselymatchers/JavaPreciselyMatchersGenerator.java12
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)
);
}
-
}