Roberto, if it's any hint to the underlying problem: you're right that that
the class is not reference anywhere else—it is used solely for the purpose
of type coercion.

Chris

On Tue, Jun 9, 2015 at 10:48 AM 'Ray Cromwell' via GWT Contributors <
[email protected]> wrote:

> Chris,
>   My change actually fixed a bug which may have obscured a problem. There
> were duplicate class literals being generated. So you'd get
> InterfaceFoo.class twice in the output, and it may be in SDM you'd be
> covered, but in regular compiled mode you'd get the duplicates which were
> causing closure compiler issues.
>
>  Roberto,  Maybe this is an issue with
> ControlFlowRecorder/RapidTypeAnalyzer and interface literals?
>
>
> On Tue, Jun 9, 2015 at 9:43 AM, 'Chris DiGiano' via GWT Contributors <
> [email protected]> wrote:
>
>> @Ray, rolling back your change indeed fixed the problem (
>> https://gwt-review.googlesource.com/#/c/12311/). How do you recommend we
>> proceed? Anything I can do to help?
>>
>> @Roberto, thanks for your suggestion, but I had already tried restarting
>> the code server and clearing the cache. This did not fix things.
>>
>> Chris
>>
>> On Mon, Jun 8, 2015 at 6:55 PM 'Roberto Lublinerman' via GWT Contributors
>> <[email protected]> wrote:
>>
>>> This might be due to the way we handle class literals. Class literals
>>> for interfaces if not referenced during the initial compile might cause
>>> that error. The error should go aways if you restart SDM.
>>>
>>> The offending sequence is
>>>
>>> 0) Suppose initially you have (interface A, class B and class C) and
>>> start SDM.
>>> 1) Now edit class B to add a reference to A.class and recompile with SDM
>>> (do not touch A at this time nor anything that makes it recompile) . This
>>> should work fine because the literals that are referenced but whose classes
>>> where not part of this compile will be generated in the epilogue.
>>> 2) Now edit class C in any way that does not make B or A recompile. Here
>>> you will have an error like the one you described.
>>>
>>> If you restart SDM at this point it should work.
>>>
>>> I'll get a fix for this tomorrow.
>>>
>>>
>>>
>>>
>>> On Mon, Jun 8, 2015 at 3:23 PM, 'Ray Cromwell' via GWT Contributors <
>>> [email protected]> wrote:
>>>
>>>> Ooops, wrong pointer (for external users) This one
>>>> https://gwt-review.googlesource.com/#/c/12311/
>>>>
>>>>
>>>> On Mon, Jun 8, 2015 at 3:14 PM, Ray Cromwell <[email protected]>
>>>> wrote:
>>>>
>>>>> Try rolling back this CL and see if it fixes it (
>>>>> https://critique.corp.google.com/#review/92873682/depot/google3/third_party/java_src/gwt/svn/trunk/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
>>>>> )
>>>>>
>>>>>
>>>>> On Mon, Jun 8, 2015 at 3:04 PM, Chris DiGiano <[email protected]> wrote:
>>>>>
>>>>>> I'm having trouble referencing a JsType interface when running under
>>>>>> superdevmode. I'm trying to pass the JsType as a class reference to a
>>>>>> method that uses the class to coerce the results into the expected type:
>>>>>>
>>>>>>     myelement.getCustomStampedElement("dialog",
>>>>>> PolymerDialog.class).open();
>>>>>>
>>>>>> Unfortunately, in superdevmode (and only in SDM) I get this error:
>>>>>>
>>>>>>     Uncaught ReferenceError:
>>>>>> Lcom_google_ccc_groups_rosters_frontend_polymer_jstype_PolymerDialog_2_classLit_0_g$
>>>>>> is not defined
>>>>>>
>>>>>> PolymerDialog is declared like this:
>>>>>>
>>>>>> @JsType
>>>>>> public interface PolymerDialog {
>>>>>>   void open();
>>>>>> }
>>>>>>
>>>>>> and getCustomStampedElement is defined like this:
>>>>>>
>>>>>>     /**
>>>>>>      * Returns the element specified in this custom element's
>>>>>> template that matches the given id
>>>>>>      * with the result coerced to a non-vanilla element type.
>>>>>> Equivalent to Polymer's $ function.
>>>>>>      *
>>>>>>      * @see
>>>>>>      *     <a href="
>>>>>> https://www.polymer-project.org/1.0/docs/devguide/local-dom.html#node-finding
>>>>>> ">
>>>>>>      *     Polymer automatic node finding</a>
>>>>>>      */
>>>>>>     <T> T getCustomStampedElement(String id, Class<T> type);
>>>>>>
>>>>>> It appears that the PolymerDialog JsType is being left out of the
>>>>>> list of class literals available in superdevmode. Is this a bug? Any 
>>>>>> ideas
>>>>>> for workarounds?
>>>>>>
>>>>>> Chris DiGiano
>>>>>>
>>>>>>  --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "GWT Contributors" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to
>>>>>> [email protected].
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/9826758e-1b0f-4797-8902-738a1fade037%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/9826758e-1b0f-4797-8902-738a1fade037%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "GWT Contributors" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to
>>>> [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAPVRV7fZhv0AkiPYqfM2WWaW8zFvdgk-BYEucwRP8k4ewXEp6w%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAPVRV7fZhv0AkiPYqfM2WWaW8zFvdgk-BYEucwRP8k4ewXEp6w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "GWT Contributors" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected]
>>> .
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAC7T7gk_U85%2B6z1QK9XpAKEXbBJgviBfZ1j0kgE8_pYZsV6Y3g%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAC7T7gk_U85%2B6z1QK9XpAKEXbBJgviBfZ1j0kgE8_pYZsV6Y3g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Contributors" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>>
> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAHbZCdNJ6mBv%2BRwso0z_OSNF7531b9rSOgLE3zJ%3DvB7FxkFD0A%40mail.gmail.com
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAHbZCdNJ6mBv%2BRwso0z_OSNF7531b9rSOgLE3zJ%3DvB7FxkFD0A%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>
>
>> For more options, visit https://groups.google.com/d/optout.
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "GWT Contributors" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAPVRV7cU1HQb6Ns2U967CxuomGHvxxGt6YtmJxaOea6n8X_poQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAPVRV7cU1HQb6Ns2U967CxuomGHvxxGt6YtmJxaOea6n8X_poQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAHbZCdO2%2BV75izBCdRsVBzvT3WLeCEv4XUWhfsYRhRZY7L1jWg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to