Hi there, having enclosed all the “foo as bar”'s in ternary operators in parentheses, I have bumped into a completely weird problem which I can't wrap my head on -- for many classes I am with Groovy 3 getting completely weird errors of kind
“constructor X in class Y cannot be applied to given types” What gives and how to solve the problem? Note again that the code _did_ build and _did work properly_ (tested zillion times) with Groovy 2, so there can't be anything seriously wrong with the sources. Looks like another breaking change :( I succeeded to isolate it into a pretty small source with just one pretty standard JAR like this: === 194 ocs /tmp> <CreateSignatureBase.java /* * Copyright 2015 The Apache Software Foundation. * OC: removed almost all code, leaving just what's needed to crash */ package org.apache.pdfbox.examples.signature; import java.io.IOException; import java.io.InputStream; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; import org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureInterface; public abstract class CreateSignatureBase implements SignatureInterface { public CreateSignatureBase(KeyStore keystore, char[] pin) throws KeyStoreException, UnrecoverableKeyException, NoSuchAlgorithmException, IOException, CertificateException { } @Override public byte[] sign(InputStream content) throws IOException { return null; } } 195 ocs /tmp> <myclass.groovy package cz.ocs.utilities import groovy.transform.* import org.apache.pdfbox.pdmodel.* import org.apache.pdfbox.examples.signature.CreateSignatureBase @InheritConstructors class CreateSignature extends CreateSignatureBase { void signPDF(PDDocument pdd, OutputStream out) { } } 196 ocs /tmp> /usr/local/groovy-2.4.17/bin/groovyc -cp /Extensions/pdfbox-2.0.17.jar -j myclass.groovy CreateSignatureBase.java 197 ocs /tmp> /usr/local/groovy-3.0.3/bin/groovyc -cp /Extensions/pdfbox-2.0.17.jar -j myclass.groovy CreateSignatureBase.java org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Compile error during compilation with javac. /var/folders/zh/h4cv6xjx033frtt9y72ch8980000gp/T/groovy-generated-8946934250394256568-java-source/cz/ocs/utilities/CreateSignature.java:12: error: constructor CreateSignatureBase in class CreateSignatureBase cannot be applied to given types; @groovy.transform.InheritConstructors() public class CreateSignature ^ required: KeyStore,char[] found: no arguments reason: actual and formal argument lists differ in length 1 error 1 error 198 ocs /tmp> === Thanks and all the best, OC