Skip to content

Instantly share code, notes, and snippets.

@danielribeiro
Forked from ghoseb/scaffold.clj
Created March 16, 2012 20:11
Show Gist options
  • Save danielribeiro/2052352 to your computer and use it in GitHub Desktop.
Save danielribeiro/2052352 to your computer and use it in GitHub Desktop.
Scaffold by Christophe Grand
(defn scaffold
"Print the ancestor method signatures of a given interface."
[iface]
(doseq [[iface methods] (->> iface
.getMethods
(map #(vector (.getName (.getDeclaringClass %))
(symbol (.getName %))
(count (.getParameterTypes %))))
(group-by first))]
(println (str " " iface))
(doseq [[_ name argcount] methods]
(println
(str " "
(list name (into ['this] (take argcount (repeatedly gensym)))))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment