Given the following class:
package my.pack;
public class Foo {
public static void varArgsMethod(Object ... arrr) {
}
}
when analysing this using a Doclet
, I get a MethodDoc
for varArgsMethod
, but the method isVarArgs
returns false
. Why doesn't it return true
?
Code in Clojure:
(defn -start [^com.sun.javadoc.RootDoc root]
(doseq [^com.sun.javadoc.ClassDoc c (.classes root)
^com.sun.javadoc.MethodDoc m (.methods c)]
(try (println (.name m))
(println "varargs:" (.isVarArgs m))
(println "arity:" (count (.parameters m)))
(println "return type:" (.returnType m))
(catch Throwable e
(println "something went wrong with" m))))
true)
;; requires JDK 11 now: JAVA_HOME=~/Downloads/jdk-11.0.2.jdk/Contents/Home
(defn -main []
(println (System/getProperty "java.home"))
(let [dt (ToolProvider/getSystemDocumentationTool)]
(.run dt nil nil nil
(into-array ["-doclet" "clj_kondo.Doclet"
"-public"
"--source-path" "/tmp/"
"my.pack"]))))