私はClojureで書いているBaseXJava interfaceのモジュールを持っています。このインタフェースは、メソッドが呼び出される方法と最適化される方法を決定するために使用できるいくつかのアノテーションを提供します。 QueryModule$Requires
とQueryModule$Deterministic
注釈が黙って破棄される -Clojure:AOTでコンパイルされたメソッドにアノテーションをアタッチする
(ns net.dyfis.svnkit_wrapper.SvnWrapper
(:import (org.basex.query QueryModule
QueryModule$Requires
QueryModule$Permission
QueryModule$Deterministic))
(:gen-class
:main false
:extends org.basex.query.QueryModule
:methods [
^{:static true}
[^{QueryModule$Requires QueryModule$Permission/NONE,
Deprecated {}}
cat [java.lang.String] java.lang.String]
^{:static true}
[^{QueryModule$Deterministic {},
QueryModule$Requires QueryModule$Permission/NONE}
catRev [java.lang.String int] java.lang.String]]))
しかし、唯一の非推奨注釈が添付されます::
>>> cat
public static java.lang.String net.dyfis.svnkit_wrapper.SvnWrapper.cat(java.lang.String)
>>> cat.getAnnotations()
array(java.lang.annotation.Annotation,[@java.lang.Deprecated()])
しかし、私は、これらが実際に生成されたクラスにアタッチするのに問題を抱えていますこれはClojure 1.4.0-beta6で発生していますが、AOTでコンパイルされたメソッドの注釈のサポートはClojure 1.2から提供されるはずです。このように、これはおそらく使用エラーですが、どうすれば違うのでしょうか?