I discovered a possible gap in the MethodHandles API.

Say I want to create an exception handler that does nothing but ignore
the exception. The target handle is a method that looks like this:

void foo(String)

I have my "target" handle pointing at foo.

I want to catch all Throwable and ignore them, so I would build up a
method handle chain that does the following (top-down)

1. receives arguments (Throwable, String) and returns void
2. drops both arguments
3. ???

There's no endpoint I can attach it to for a "no-op" void return.

"constant" doesn't work because it returns a value, and explicitly
forbids void return type.

"identity" doesn't work because it returns a value and receives one argument.

What I need here is something like MethodHandles.constant, but that
takes no arguments and has a void return. MethodHandles.nop anyone?

I could filterReturn, but I still would have to attach it to an
external method...there's no way to create a filter that returns void
entirely with method handles.

Am I missing something?

- Charlie
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to