The original impl of the invocation reflection concerned itself with the discrimination of different types of methods (async, sync, parameterized, non parameterized, etc). This led to poor experience when encountering exceptions or specific edge cases.
Description
The original impl of the invocation reflection concerned itself with the discrimination of different types of methods (async, sync, parameterized, non parameterized, etc). This led to poor experience when encountering exceptions or specific edge cases.
Fixes: https://github.com/paulegradie/Sailfish/issues/139
Results
This PR cleans up the exceptions, simplifies the invocation methods, and allows cancellation tokens to be injected in any method.