Is there a way in Groovy to find out the name of the called method?
def myMethod() {
println \"This method is called method \" + methodName
}
No, as with Java there's no native way of doing this.
You could write an AST transform so that you could annotate the method and this could set a local variable inside the method.
Or you can do it the good old Java way of generating a stackTrace, and finding the correct StackTraceElement with something like:
import static org.codehaus.groovy.runtime.StackTraceUtils.sanitize
def myMethod() {
def name = sanitize( new Exception().fillInStackTrace() ).stackTrace.find {
!( it.className ==~ /^java_.*|^org.codehaus.*/ )
}?.methodName
println "In method $name"
}
myMethod()