Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.5.3
-
None
-
None
Description
In the sample below, the first short-hand (Integer case) is recognised, the second two aren't for constructors even though they are for methods and work if "<init>" is used instead:
Integer.metaClass { constructor = { List l -> l.size() } } Short.metaClass { constructor { List l -> l.size() as short } } Long.metaClass { constructor << { List l -> l.size() as long } } def result = [[] as Short, ['foo'] as Integer, ['bar', 'baz'] as Long] assert result.toString() == '[0, 1, 2]' assert result*.class == [Short, Integer, Long]