} else if (method instanceof AliasMethod) {
method = method.getRealMethod();
return methodSourceLocation(runtime, method);
} else if (method instanceof MethodMethod) {
// MethodMethod.getRealMethod and RubyMethod.getMethod are JRuby >= 1.6 only.
RubyUnboundMethod unboundMethod = (RubyUnboundMethod)getPrivateField(runtime, MethodMethod.class, "method", method);
DynamicMethod realMethod = (DynamicMethod)getPrivateField(runtime, RubyMethod.class, "method", unboundMethod);
return methodSourceLocation(runtime, realMethod);
} else if (method instanceof WrapperMethod) {
method = (DynamicMethod)getPrivateField(runtime, WrapperMethod.class, "method", method);
return methodSourceLocation(runtime, method);