|
Groovy example source code file (Groovy1059_Bug.groovy)
The Groovy Groovy1059_Bug.groovy source codepackage groovy.bugs /** * TODO: GROOVY-1059 * * Accessible to a closure attribute of an abject with the operator ".@". * For examples, all of the expressions * * object.@closure() * object.@closure.call() * object.@closure.doCall() * (object.@closure)() * * have the same meaning. * * @author John Wilson * @author Pilho Kim */ class Groovy1059_Bug extends GroovyTestCase { void testClosureAsAttribute() { def x = new Groovy1059Foo() println( x.say() ) println( (x.@say)() ) println( x.@say() ) // TODO: Groovy-1059 should work println( x.@say.call() ) println( x.@say.doCall() ) println( x.@say2() ) assert "I am a Method" == x.say() assert "I am a Method" == x.@say2() assert "I am a Closure" == (x.@say)() assert "I am a Closure" == x.@say() assert x.@say() == (x.@say)() assert x.@say() == x.@say.call() assert x.@say() == x.@say.doCall() assert x.@say() != x.say() assert x.@say2() == x.say() } } class Groovy1059Foo { def public say = { it -> return "I am a Closure" } def public say2 = this.&say public Object say() { return "I am a Method" } } Other Groovy examples (source code examples)Here is a short list of links related to this Groovy Groovy1059_Bug.groovy source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.