-
-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Identify the method signature and use it to invoke the JVM counter-part #374
Comments
The accessibility flag shall be changed in JVM because from JNI it is possible only from JDK 19 due to https://bugs.openjdk.org/browse/JDK-8280831. A convenient way it to update |
The JDK comes with a tool, named javap, able to extract signature from a class name in its parameter: javap -public -s java.lang.Object reports in output:
what shall be done is to parse this output matching method with the string after descriptor:, the tool shall be executed on each class will be analyzed from JNetReflector. Avoid to import, or use, the source classes javap is based on for two reasons:
|
First test done, however the execution of JNetReflector slows done considerately: till now an external javap process is launched for each class under analysis. The parser shall be updated to reduce the number of executions considering that javap is able to parse multiple set on command-line, the limit can be imposed from the OS limit when a process is requested to be launched. Important Currently there is no way to use the signature because JCOBridge does not have any API supporting it. |
Is your feature request related to a problem? Please describe.
Current behavior is based on parameters deduction from .NET side. JNetReflector identify the parameters types and the behavior is constrained, however, under the hood, the exact match cannot happens if one parameter is
null
because JCOBridge is not able to infer the right JVM type the first time the method is searched.Describe the solution you'd like
On each
Method
identified from JNetReflector, it shall extract, or build, the signature and use it to invoke the right method.Describe alternatives you've considered
N/A
Additional context
N/A
The text was updated successfully, but these errors were encountered: