1719 && required == target->method_handle_type()) { |
1719 && required == target->method_handle_type()) { |
1720 targetType = target->signature()->as_C_string(); |
1720 targetType = target->signature()->as_C_string(); |
1721 targetArity = ArgumentCount(target->signature()).size(); |
1721 targetArity = ArgumentCount(target->signature()).size(); |
1722 } |
1722 } |
1723 } |
1723 } |
1724 klassOop kignore; int dmf_flags = 0; |
1724 KlassHandle kignore; int dmf_flags = 0; |
1725 methodOop actual_method = MethodHandles::decode_method(actual, kignore, dmf_flags); |
1725 methodHandle actual_method = MethodHandles::decode_method(actual, kignore, dmf_flags); |
1726 if ((dmf_flags & ~(MethodHandles::_dmf_has_receiver | |
1726 if ((dmf_flags & ~(MethodHandles::_dmf_has_receiver | |
1727 MethodHandles::_dmf_does_dispatch | |
1727 MethodHandles::_dmf_does_dispatch | |
1728 MethodHandles::_dmf_from_interface)) != 0) |
1728 MethodHandles::_dmf_from_interface)) != 0) |
1729 actual_method = NULL; // MH does extra binds, drops, etc. |
1729 actual_method = methodHandle(); // MH does extra binds, drops, etc. |
1730 bool has_receiver = ((dmf_flags & MethodHandles::_dmf_has_receiver) != 0); |
1730 bool has_receiver = ((dmf_flags & MethodHandles::_dmf_has_receiver) != 0); |
1731 if (actual_method != NULL) { |
1731 if (actual_method.not_null()) { |
1732 mhName = actual_method->signature()->as_C_string(); |
1732 mhName = actual_method->signature()->as_C_string(); |
1733 mhArity = ArgumentCount(actual_method->signature()).size(); |
1733 mhArity = ArgumentCount(actual_method->signature()).size(); |
1734 if (!actual_method->is_static()) mhArity += 1; |
1734 if (!actual_method->is_static()) mhArity += 1; |
1735 } else if (java_lang_invoke_MethodHandle::is_instance(actual)) { |
1735 } else if (java_lang_invoke_MethodHandle::is_instance(actual)) { |
1736 oopDesc* mhType = java_lang_invoke_MethodHandle::type(actual); |
1736 oopDesc* mhType = java_lang_invoke_MethodHandle::type(actual); |