package gls.annotations.closures; import java.lang.reflect.Constructor; import groovy.lang.Closure; // Uses annotation type declared in Java, // instantiates annotation closure using pure Java APIs (no GDK), // triggers stub generation for class JavaCompatibility public class AnnotationClosureJavaCompatibilityTest extends AnnotationClosureExhaustiveTestSupport { public Class<?> getAnnotationClass() { return JavaAnnotationWithClassElement.class; } public Class<?> getAnnotatedClass() { return JavaCompatibility.class; } public void verify(Class closureClass) { try { Constructor ctor = closureClass.getConstructor(Object.class, Object.class); Closure closure = (Closure) ctor.newInstance(null, null); assertEquals(3, closure.call()); } catch (Exception e) { throw new RuntimeException(e); } } }