--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@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+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
It means the Clojure compiler cannot emit the efficient bytecode directly, so it emits bytecode that calls the method reflexively.This only impacts performance, so if that code is not used much, it is not a problem.
The underlying problem is that jvm bytecode is typed, so ideally the bytecode should be able to say "call method M of type T on object O". Here, the Clojure Compiler cannot infer a type for html-table, so instead the emitted bytecode is more along the lines of "ask object O to give a list of all of its types, then look into each of these types to find if one has a method that matches M in terms of name and number of arguments, and then look at that method's signature and check if the arguments can be cast to the types of the formal parameters; if there is a type with such a method, invoke that method".This is not 100% technically accurate (in particular, i have no idea what reflection does about the arguments and their types in this case), but it should be roughly correct and you can easily see why that would be much slower.If you want to remove that warning, you can annotate the html-table variable, but the place where you must do that will depend on a little more context than what you've given here. It is usually done at the level of var declaration or in function argument lists.
On a editor-pane I use:
(.setCaretPosition html-table 0)And it does what it should do. But when I run:lein checkI get:
Reflection warning, quotes/core.clj:98:42 - call to method setCaretPosition can't be resolved (target class is unknown).Is that something to worry about?By the way, I get also some on jdbc and seesaw.
--
(let [^JEditorPane html-table (editor-pane ...)] ...) should fix it. Or just set the caret position in the create function:(editor-pane :caret-position 0)
or use config:(config! editor-pane :caret-position 0)
On Fri, Feb 27, 2015 at 4:07 AM, Cecil Westerhof <cldwes...@gmail.com> wrote:
(let [^JEditorPane html-table (editor-pane ...)] ...) should fix it. Or just set the caret position in the create function:
--