Search code examples
javaexceptionconstructorinitnosuchmethoderror

Understanding method signature in NoSuchMethod exception


I got this exception but resolved it.

java.lang.NoSuchMethodError: antlr.NoViableAltForCharException.<init>
(CLjava/lang/String;II)V

But i'd like to know how to interpret these kind of messages: "(CLjava/lang/String;II)V" Also, does this "init" mention the constructor of NoViableAltForCharException class??

Thanks.


Solution

  • Type Signatures - taken from this page.

    The JNI uses the Java VM’s representation of type signatures. Table 3-2 shows these type signatures.

    Z                               boolean
    B                               byte
    C                               char
    S                               short
    I                               int
    J                               long
    F                               float
    D                               double
    L fully-qualified-class ;       fully-qualified-class
    [ type                          type[]
    ( arg-types ) ret-type          method type
    

    For example, the Java method:

    long f (int n, String s, int[] arr);
    

    has the following type signature:

    (ILjava/lang/String;[I)J