(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)

Dave


On Fri, Feb 27, 2015 at 4:07 AM, Cecil Westerhof <cldwester...@gmail.com>
wrote:

> 2015-02-27 11:34 GMT+01:00 Gary Verhaegen <gary.verhae...@gmail.com>:
>
>> 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.
>>
>
> ​It is not used much, so it should not be a real 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.
>>
>
> ​This is the code:
>                (let [html-table (editor-pane
>                                  :content-type "text/html"
>                                  :text (str html-start
>                                             html-records
>                                             html-end))
>                     ]
>                     (.setCaretPosition html-table 0)
>
> So html-table is a JEditorPane. Should Clojure not be able to determine
> that?
>
>
> Just to satisfy my curiosity: how can I get rid of the warning?
> ​
>
>
> On Friday, 27 February 2015, Cecil Westerhof <cldwester...@gmail.com>
> wrote:
>
>> On a editor-pane I use:
>>>     (.setCaretPosition html-table 0)
>>>
>>> ​And it does what it should do. But when I run:
>>>     lein check
>>>
>>> I 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.​
>>>
>>
> ​Strange enough I only get the warnings on my own code now.
> ​
>
> --
> Cecil Westerhof
>
> --
> 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
> ---
> 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+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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
--- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to