[ https://issues.apache.org/jira/browse/GROOVY-9367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Milles reassigned GROOVY-9367: ----------------------------------- Assignee: Eric Milles > org.codehaus.groovy.runtime.MetaClassHelper#getClassWithNullAndWrapper should > return NullObject when accept null > ---------------------------------------------------------------------------------------------------------------- > > Key: GROOVY-9367 > URL: https://issues.apache.org/jira/browse/GROOVY-9367 > Project: Groovy > Issue Type: Bug > Components: groovy-runtime > Affects Versions: 2.5.6 > Reporter: XJ Chen > Assignee: Eric Milles > Priority: Major > Time Spent: 2h 20m > Remaining Estimate: 0h > > I have a extension class > {code:java} > class NumberExtension { > static Integer plus(Integer self, NullObject right) { > return self; > } > } > {code} > However > {code:java}1 + null{code} > will throw > {code} > Ambiguous method overloading for method java.lang.Integer#plus > {code} > Because > org.codehaus.groovy.runtime.MetaClassHelper#getClassWithNullAndWrapper return > null for null argument. Then > org.codehaus.groovy.runtime.MetaClassHelper#calculateParameterDistance(java.lang.Class, > org.codehaus.groovy.reflection.CachedClass) doesn't return 0 because null != > NullObject.class -- This message was sent by Atlassian Jira (v8.20.10#820010)