将元数据附加到Clojure gen-class

Ral*_*lph 5 annotations clojure gen-class

是否可以将元数据附加到Clojure gen-class?

我正在尝试实现一个使用库的服务器,该库需要将Java注释添加到类中.

从Chas Emerick等人,即将出版的书"Programming Clojure"(第9.7.3节)中,向gen-class方法添加注释很容易,但没有提到添加类级别的注释.

Dan*_*lan 22

是的,我在这里找到了一个很好的例子:

https://github.com/clojure/clojure/blob/master/test/clojure/test_clojure/genclass/examples.clj

这里有一些内联代码,所以它不会在将来消失:

(gen-class :name ^{Deprecated {}
                   SuppressWarnings ["Warning1"] ; discarded
                   java.lang.annotation.Target []}
                 clojure.test_clojure.genclass.examples.ExampleAnnotationClass
           :prefix "annot-"
           :methods [[^{Deprecated {}
                        Override {}} ;discarded
                      foo [^{java.lang.annotation.Retention java.lang.annotation.RetentionPolicy/SOURCE
                             java.lang.annotation.Target    [java.lang.annotation.ElementType/TYPE
                                                             java.lang.annotation.ElementType/PARAMETER]}
                           String] void]])
Run Code Online (Sandbox Code Playgroud)