Can you post the full source for CollaborativeOperation? My guess is
the UserID and SessionID fields are being proven by the compiler to be
uninstantiated types. Are userId/sessionId simple Strings, or some
other type?

.

On Mon, Jun 30, 2014 at 8:18 AM, 'Daniel Kurka' via GWT Contributors
<[email protected]> wrote:
> 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.
>>>> 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.
>>
>> 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.

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

Reply via email to