Compile-time validation of JNI signatures

JNI allows managed code inside the JVM or ART to call into native code. Java methods can be declared as native , and then a corresponding C function 1 can be written and automatically wired together when the native library is loaded. Native code lacks mechanisms like packages and overloads, so a special format is used to encode the Java method signature. A Java method defined as: package…