Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.5.6
-
Fix Version/s: 1.6.9
-
Component/s: groovy-jdk
-
Labels:None
Description
The script
def list = [2, 3, 5]
def c = {it < 5}
c.metaClass = new ExpandoMetaClass(c.class, false)
c.metaClass.isCase = {p -> true}
c.metaClass.initialize()
assert c.isCase(5) == true
assert [2, 3] == list.findAll(c)
assert [2, 3, 5] == list.grep(c) // fails
throws an AssertionError.
It seems that InvokerHelper.getMetaClass does not respect per-instance MetaClasses.
Works fine in Groovy 1.6