From 25e248a60a8694647496785888402cb35f5712fd Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 12 Jun 2026 16:09:28 +0100 Subject: Implement toMatcher() with instanceOf() --- .../JavaPreciselyMatchersGenerator.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/main/java/org') 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 3378f9c..ce64b5e 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 @@ -84,7 +84,12 @@ public class JavaPreciselyMatchersGenerator implements Generator { var matcherTypeName = structDefinition.name() + "Matcher"; var structType = structDefinition.type(); - var javaTypeRef = JavaTypeRef.topLevel( + var javaStructTypeRef = JavaTypeRef.topLevel( + namespaceToJavaPackageParts(structType.namespaceName()), + structDefinition.name() + ); + + var javaMatcherTypeRef = JavaTypeRef.topLevel( namespaceToJavaPackageParts(structType.namespaceName()), matcherTypeName ); @@ -138,11 +143,15 @@ public class JavaPreciselyMatchersGenerator implements Generator { JavaTypeRef.topLevelGeneric(List.of("org", "zwobble", "precisely"), "Matcher", List.of(JavaTypeRef.OBJECT)), List.of(), new JavaBlock(List.of( - new JavaReturn(new JavaNullLiteral()) + new JavaReturn(new JavaStaticMethodCall( + JavaTypeRef.topLevel(List.of("org", "zwobble", "precisely"), "Matchers"), + "instanceOf", + List.of(new JavaStaticFieldAccess(javaStructTypeRef, "class")) + )) )) ) ), - JavaCustomArea.type(javaTypeRef, "body"), + JavaCustomArea.type(javaMatcherTypeRef, "body"), DocComment.EMPTY ); } -- cgit v1.2.3