I got a strange @CompileStatic build error today, of which i am not sure
whether it is expected behavior with a confusing error message, or an
error in Groovy, so I post it here for comments before creating a ticket:
@CompileStatic*
class *GroovyReflection {
* /**
* throws:*
* Error:(20, 104) Groovyc: Expected parameter of type
java.lang.Object but got java.lang.Class*
* Error:(20, 119) Groovyc: [Static type checking] - Cannot find
matching method
at.gv.bmlv.groovyutil.reflection.GroovyReflectionClass#createFromClass(java.lang.Object).
Please check if the declared type is right and if the method exists.*
* */*
* final *Map<Class, GroovyReflectionClass> *classToReflectionClassMap
*= [:].withDefault { *
final *Class clazz -> GroovyReflectionClass./createFromClass/(clazz)
}
* // works*
* final *Map<Class, GroovyReflectionClass> *classToReflectionClassMap
*= ([:] *as *Map<Class, GroovyReflectionClass>).withDefault {
***final *Class clazz -> GroovyReflectionClass./createFromClass/(clazz)
}
}
Cheers,
mg