首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向Clojure gen-class状态访问添加类型提示

向Clojure gen-class状态访问添加类型提示
EN

Stack Overflow用户
提问于 2011-07-08 21:27:14
回答 1查看 439关注 0票数 1

我正在使用gen-class编写一个Clojure类。我在下面的代码中有一个试图访问的"state“字段:

代码语言:javascript
复制
(ns com.example.sparetime.DateButton
  (:gen-class
    :extends javax.swing.JToggleButton
    :init initialize
    :state state
    :constructors {[Integer] [String]})
  (:import
    [java.awt Insets]))

(if *compile-files*
  (set! *warn-on-reflection* true))

(def insets (Insets. 1 1 1 1))

(defn -initialize [day-number]
  [[(Integer/toString day-number)] day-number])

(defn get-day-number [this]
  (.state this))

(defn -getInsets [this]
  insets)

我在包含(.state this)的行上收到反射警告。我尝试使用(.state ^DateButton this)添加类型提示,但随后得到一个编译错误,指出编译器无法解析DateButton (鸡和蛋?直到编译器编译完这个文件,Datebutton才会存在)。

请不要在意提示这段代码的类型的智慧。我该怎么做呢?我需要完全限定DateButton包吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-11 15:11:28

您必须导入您的类或完全限定其名称。然后^DateButton提示将起作用并消除反射。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6625104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档