You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@groovy.apache.org by MG <mg...@arscreat.com> on 2017/12/15 01:57:36 UTC

@CompileStatic - Groovyc: Expected parameter of type java.lang.Object but got java.lang.Class

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