With regards to the problem described by Schalk Cronjé: This is the persistent, non-deterministic build problem I have had in Groovy since groovy-2.1.x up to groovy-2.4.x and IntelliJ_CE_13_1_3 to IntelliJ2017_3:

The schematic code shown below (which exists in similar from in the code multiple times) sometimes throws the following error during a (larger) minimal rebuild:

Error:Groovyc: Abstract method 'basePackage.getInstance1' is not implemented but a method of the same name but different return type is defined: method 'foooPackage.getInstance1'

The error disappears through just restarting the build multiple times. Rebuilding the same module multiple times in a row seems to have a much higher chance of the build failing again (starting a minimal rebuild of the whole project takes forever and is practically guaranteed to fail).

Cheers,
mg


interface BaseIntf {
  BaseIntf getInstance1()
}

// basePackage abstract class Baseimplements BaseIntf {
  Stringname Base(String name) {this.name = name }
  abstract Base getInstance1()
  static String makeName(String n,int i) {"$n$i" }
}

// foooPackage class Foooextends Base {
  static final Foooinstance0 static final Foooinstance1 static {
    instance0 =new Fooo('ABC')
    instance1 =new Fooo(makeName(instance0.name,1))
  }

  protected Fooo(String name) {super(name) }

@Override Fooo getInstance1() {return instance1 }// Leads to indeterministic bug //@Override Base getInstance1() { return instance1 } // Works }



Reply via email to