dynamic noSuchMethod(
Invocation invocation
)

noSuchMethod is invoked when users invoke a non-existent method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod in an Invocation. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a NoSuchMethodError.

Source

noSuchMethod(Invocation invocation) {
  if (invocation.isMethod && invocation.memberName == #call) {
    return apply(_buildArgs(invocation));
  }
  return super.noSuchMethod(invocation);
}