Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.2.1
-
None
Description
parameter.metaClass returns different result when parameter type is "Class<?> parameter" compared to when type is "Class parameter"
Here is example code for Groovy console to reproduce the problem:
class ShowMcDynamic { MetaClass findMc(Class someClass) { someClass.metaClass } MetaClass findMcWithGenericsParam(Class<?> someClass) { someClass.metaClass } } def mcByDynamic = new ShowMcDynamic().findMc(String) def mcByDynamic2 = new ShowMcDynamic().findMcWithGenericsParam(String) assert mcByDynamic.theClass==String assert mcByDynamic2.theClass==String @groovy.transform.CompileStatic class ShowMcStatic { MetaClass findMc(Class someClass) { someClass.metaClass } MetaClass findMcWithGenericsParam(Class<?> someClass) { someClass.metaClass } } def mcByStatic = new ShowMcStatic().findMc(String) def mcByStatic2 = new ShowMcStatic().findMcWithGenericsParam(String) assert mcByStatic.theClass==String assert mcByStatic2.theClass==String