Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

JavassistのCtClass#getMethod()の第2引数

CtClass#getMethod()

JavassistでgetMethod()の引数に何を渡したらいいか理解していなかった。

  • public CtMethod getMethod(java.lang.String name, java.lang.String desc)

で、「desc - method descriptor」なんだけど、
これはJVMの記法?みたいなのを書けば動いた。


検索したけど、うまく探せなかった。


たとえば、

  • public void setDname(String dname)

はこれで取り出せる。

ctClass.getMethod("setDname", "(Ljava/lang/String;)V")

逆に、

  • public String getDname()

はこうなる。

ctClass.getMethod("getDname", "()Ljava/lang/String;");

「()」のうしろは戻り値だね。「V」はvoidに違いない。