blob: 73bec6b452851c3cd411005f3a96b0a588339113 [file] [log] [blame]
/**
* @version $Revision: 1.4 $
*/
class OverloadInvokeMethodTest extends GroovyTestCase {
void testBug() {
def value = foo(123)
assert value == 246
}
/**
* Lets overload the invokeMethod() mechanism to provide an alias
* to an existing method
*/
def invokeMethod(String name, Object args) {
try {
return metaClass.invokeMethod(this, name, args)
}
catch (MissingMethodException e) {
if (name == 'foo') {
return metaClass.invokeMethod(this, 'bar', args)
}
else {
throw e
}
}
}
def bar(param) {
return param * 2
}
}