I have seen this happening before when the pruner removes a type that he
does not consider live but actually is live.

Fast try, can you change:
final CollaborativeOperation first = operations.<CollaborativeOperation>
get(0);

to:
final CollaborativeOperation first = (CollaborativeOperation)
operations.<CollaborativeOperation>
get(0);

-Daniel


On Mon, Jun 30, 2014 at 8:09 AM, 田传武 <[email protected]> wrote:

> I'm sure this is an optimizer bug.
>
> null.nullField causes the following error at runtime:
> SEVERE: (TypeError) : Cannot read property 'nullField' of nullcom.google.
> gwt.core.client.JavaScriptException: (TypeError) : Cannot read property
> 'nullField' of null
>         at Unknown.$compose(http:
> //localhost:63342/realtime/app/bower_components/realtime-store/realtime-store.js@41
> )
>
> However, the draft compilation javascript works very well.
>
> On Monday, June 30, 2014 10:58:08 PM UTC+8, John A. Tamplin wrote:
>
>> Generally, null.nullField means the compiler can prove the value is null
>> at that point, and draft compile skills the optimization that defects a lot
>> of that.  So either it really is always null, or there is an optimizer bug.
>> On Jun 30, 2014 10:31 AM, "田传武" <[email protected]> wrote:
>>
>>> Hello,
>>> The newest @JsType feature is really very fascinating, and works in most
>>> cases. The only issue i found was the wrong null.nullField javascript
>>> output.
>>>
>>> the compile command:
>>>
>>> java -cp xxx com.google.gwt.dev.Compiler -war xxx -XnoclassMetadata
>>> -XnocheckCasts -XjsInteropMode JS -XclosureCompiler -style
>>> PRETTY com.goodow.realtime.store.StoreProd
>>>
>>>
>>> Java code:
>>>
>>> public CollaborativeOperation compose(JsonArray operations) {
>>>     final CollaborativeOperation first = operations.<CollaborativeOperation>
>>> get(0);
>>>     if (operations.length() == 1) {
>>>       return first;
>>>     }
>>>     final JsonArray components = Json.createArray();
>>>     operations.forEach(...);
>>>     return new CollaborativeOperation(first.userId, first.sessionId,
>>> components);
>>>   }
>>>
>>>
>>> translated to the following javascript:
>>>
>>>  function $compose(operations) {
>>>   var components;
>>>   components = operations[0];
>>>   if (1 == operations.length) {
>>>     return components;
>>>   }
>>>   components = [];
>>>   $forEach(operations, new CollaborativeTransformer$1(components));
>>>   return new CollaborativeOperation(null.nullField, null.nullField,
>>> components);
>>> }
>>>
>>>
>>>
>>> There's an easy workaround to fix this: using the -draftCompile options
>>> when compilation. Here is the full compilation log:
>>> https://travis-ci.org/goodow/realtime-store/builds/28777579 (search
>>> for ./gwt-compile.sh)
>>>
>>>
>>> --
>>> 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/35eb8ed2-588b-
>>> 484a-b2f4-b58b5bb01f46%40googlegroups.com
>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/35eb8ed2-588b-484a-b2f4-b58b5bb01f46%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/362b0daf-c174-4021-9bc8-acee19af0cfc%40googlegroups.com
> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/362b0daf-c174-4021-9bc8-acee19af0cfc%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Google Germany GmbH
*Dienerstr. 12*
*80331 München*

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Katherine Stephens

-- 
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/CALLujirJ7CD%2B_fRDFyE9kUX%2BCLeeaMbd8JQraWMMp6CWQKtNMQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to