Hi Ray,

Here is the source for CollaborativeOperation:
https://github.com/goodow/realtime-operation/blob/master/src/main/java/com/goodow/realtime/operation/impl/CollaborativeOperation.java

the final project which depends on realtime-operation:
https://github.com/goodow/realtime-store (Using the ./gwt-compile.sh to 
compile)

and the live playground:
http://realtimeplayground.goodow.com/

Thanks!


On Tuesday, July 1, 2014 1:18:33 AM UTC+8, Ray Cromwell wrote:
>
> 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] <javascript:>> 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] <javascript:>> 
> 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] <javascript:>. 
>
> >>>> 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] 
> <javascript:>. 
> >> 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] 
> <javascript:>. 
> > 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/8849efc2-0ffb-47ce-a9f8-822266de9287%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to