4

JIRA API からIssueInputParameters.addCustomFieldValue()を呼び出す際のリフレクションを回避しようとしています。ただし、完全に型ヒントが設定されている場合でも、Clojure はリフレクションが使用されているという警告を出します。

javadocs に記載されているメソッド シグネチャは次のとおりです。

IssueInputParameters addCustomFieldValue(Long customFieldId, String... values) 

そのため、私はそれを次のように呼び出そうとしています:

(fn [^com.atlassian.jira.issue.IssueInputParameters i, ^Long l]
  (.addCustomFieldValue i l (into-array String ["foo"])))

実際の呼び出しは機能しますが、リフレクションが常に使用されます。

Reflection warning, NO_SOURCE_PATH:1 - call to addCustomFieldValue can't be resolved.

どうすればこれを回避できますか?

4

1 に答える 1

6

次のように実行すると、明示的なヒントがString[]機能します。

(fn [^com.atlassian.jira.issue.IssueInputParameters i, ^Long l]
  (.addCustomFieldValue i l
    ^"[Ljava.lang.String;" (into-array String ["foo"])))
于 2012-06-05T18:11:48.913 に答える