On Sun, Jun 10, 2012 at 1:04 PM, Jim - FooBar(); <jimpil1...@gmail.com> wrote: > Hi again (busy day eh?), > > well this doesn't make any sense either! Why is a record with type-hinted > arguments still using reflection? > I've got the following example record: > -------------------------------------------------------------------------------------------------- > (defrecord CheckersPiece [^java.awt.Color color > ^java.awt.Point position > rank] > Piece > (update-position [this np] ;mutable state inside Point! > (. position setLocation ;can accept ints or doubles > (first np) (second np))) ;np should be [x, y] > (die [this] (vary-meta this assoc :dead true)) ;communicate death > through meta-data > (promote [this] (make-checker color position :rank 'prince)) ; a checker is > promoted to prince > (getGridPosition [this] (vector (.getX position) (.getY position))) > (getListPosition [this] (translate-position (first (.getGridPosition > this)) > (second (.getGridPosition > this)) board-mappings-checkers)) > (getPoint [this] position) > (getMoves [this] nil) ;TODO > Object > (toString [this] > (println "Checker (" rank ") at position:" (.getListPosition this) " ->" > (.getGridPosition this))) ) > --------------------------------------------------------------------------------------------------------------------------- > and whenever i call update-position it complains that setLocation cannot be > resolved. setLocation is a method in java.awt.Point so i don't see why this > happens!
Would (.setLocation position) possibly behave differently maybe? Worth a try? Lars Nilsson -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en