Re: [gwt-contrib] Fwd: jsinterop woes: Part 1: instanceof function in generics casting

2017-06-25 Thread Vassilis Virvilis
 I was not remembering correctly and my last comment was off. I am not
using a create() method. So the editorial correction is

 s/and have a create() method instead of ordinal() that generates the
object//g



On Sun, Jun 25, 2017 at 6:23 PM, Vassilis Virvilis 
wrote:

> Hm...
>
> For me this d3 ordinal thing like implementing the () operator in c++. Is
> it a function with members and methods or is it an object with the ability
> to be called as a function?
>
> Anyway if you and Roberto say it is not a bug then it's not a bug.
>
> When I revisit my D3 bindings I will explore your proposals - but AFAIK
> there is no easy solution that resembles the original javascript API.
> Currently I prefer to copy paste among the inheritance pyramid (there are 2
> or 3 subtypes) and have a create() method instead of ordinal() that
> generates the object.
>
> If there is no objection I will post another stumbling block I encountered
> in my jsinterop journey.
>
>
> On Sun, Jun 25, 2017 at 5:35 PM, Thomas Broyer  wrote:
>
>>
>>
>> On Sunday, June 25, 2017 at 1:24:40 PM UTC+2, Vassilis Virvilis wrote:
>>>
>>> Ηι,
>>>
>>> thanks for answering
>>>
>>> d3.ordinal does not exist as you said. However d3.scale.ordinal exists
>>> and that part works great.
>>>
>>
>> But it is not a type, so you cannot use 'instanceof' on it.
>>
>>
>>> in d3 ordinal is both a function ordinal() which returns an ordinal
>>> instance and an object with more methods such as range() which is the crux
>>> of my issue.
>>>
>>> The problem there is that
>>>
>>>- public native  O range(I[] values);   *// this doesn't
>>>work*
>>>- // public native  Ordinal range(I[] values); *// this works*
>>>
>>> I would like to use the first definition because it allows reusing some
>>> code between different scales. Otherwise I have to copy-paste the range()
>>> method multiple times instead of put it in a base class.
>>>
>>
>> In Java, generics are more or less syntactic sugar for using the erased
>> type and casting values. So when using the first one, GWT will, when used
>> with O==Ordinal, generate a cast from Object to Ordinal, which IIUC is
>> what's causing the error, because your JsType is not a type that can be
>> checked (a cast is translated in JS to a type-check using 'instanceof').
>>
>>
>>> The problem is on the exceptions generated by the attempting casting.
>>>
>>> As you said this may not be a bug but not for the reason you mentioned.
>>>
>>> So the question remains: Should I report it as an issue?
>>>
>>
>> I would say no. Your @JsType is wrong. You should either use an interface
>> with @JsType(isNative=true, name="?", namespace=JsPackage.GLOBAL), or if
>> you want to use fields use a class with @JsType(isNative=true,
>> name="Object", namespace=JsPackage.GLOBAL)
>>
>> --
>> 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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit https://groups.google.com/d/ms
>> gid/google-web-toolkit-contributors/6206fb29-d3c1-48de-ab04-
>> 0610cbb3c2bd%40googlegroups.com
>> 
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Vassilis Virvilis
>



-- 
Vassilis Virvilis

-- 
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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAKbOjEz_uocutZGGp%3DsvDbUSf1eW9gnziGsCtVOkvd1iGRT%2Bjg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [gwt-contrib] Fwd: jsinterop woes: Part 1: instanceof function in generics casting

2017-06-25 Thread Vassilis Virvilis
Hm...

For me this d3 ordinal thing like implementing the () operator in c++. Is
it a function with members and methods or is it an object with the ability
to be called as a function?

Anyway if you and Roberto say it is not a bug then it's not a bug.

When I revisit my D3 bindings I will explore your proposals - but AFAIK
there is no easy solution that resembles the original javascript API.
Currently I prefer to copy paste among the inheritance pyramid (there are 2
or 3 subtypes) and have a create() method instead of ordinal() that
generates the object.

If there is no objection I will post another stumbling block I encountered
in my jsinterop journey.


On Sun, Jun 25, 2017 at 5:35 PM, Thomas Broyer  wrote:

>
>
> On Sunday, June 25, 2017 at 1:24:40 PM UTC+2, Vassilis Virvilis wrote:
>>
>> Ηι,
>>
>> thanks for answering
>>
>> d3.ordinal does not exist as you said. However d3.scale.ordinal exists
>> and that part works great.
>>
>
> But it is not a type, so you cannot use 'instanceof' on it.
>
>
>> in d3 ordinal is both a function ordinal() which returns an ordinal
>> instance and an object with more methods such as range() which is the crux
>> of my issue.
>>
>> The problem there is that
>>
>>- public native  O range(I[] values);   *// this doesn't
>>work*
>>- // public native  Ordinal range(I[] values); *// this works*
>>
>> I would like to use the first definition because it allows reusing some
>> code between different scales. Otherwise I have to copy-paste the range()
>> method multiple times instead of put it in a base class.
>>
>
> In Java, generics are more or less syntactic sugar for using the erased
> type and casting values. So when using the first one, GWT will, when used
> with O==Ordinal, generate a cast from Object to Ordinal, which IIUC is
> what's causing the error, because your JsType is not a type that can be
> checked (a cast is translated in JS to a type-check using 'instanceof').
>
>
>> The problem is on the exceptions generated by the attempting casting.
>>
>> As you said this may not be a bug but not for the reason you mentioned.
>>
>> So the question remains: Should I report it as an issue?
>>
>
> I would say no. Your @JsType is wrong. You should either use an interface
> with @JsType(isNative=true, name="?", namespace=JsPackage.GLOBAL), or if
> you want to use fields use a class with @JsType(isNative=true,
> name="Object", namespace=JsPackage.GLOBAL)
>
> --
> 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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/google-web-toolkit-contributors/6206fb29-d3c1-
> 48de-ab04-0610cbb3c2bd%40googlegroups.com
> 
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Vassilis Virvilis

-- 
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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAKbOjExtFzAEo2fL66Z3gDrfzNA%3DnF90moVCvGg2BUjjDVqJfg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [gwt-contrib] Fwd: jsinterop woes: Part 1: instanceof function in generics casting

2017-06-25 Thread Thomas Broyer


On Sunday, June 25, 2017 at 1:24:40 PM UTC+2, Vassilis Virvilis wrote:
>
> Ηι,
>
> thanks for answering
>
> d3.ordinal does not exist as you said. However d3.scale.ordinal exists and 
> that part works great.
>

But it is not a type, so you cannot use 'instanceof' on it.
 

> in d3 ordinal is both a function ordinal() which returns an ordinal 
> instance and an object with more methods such as range() which is the crux 
> of my issue.
>
> The problem there is that 
>
>- public native  O range(I[] values);   *// this doesn't 
>work*
>- // public native  Ordinal range(I[] values); *// this works*
>
> I would like to use the first definition because it allows reusing some 
> code between different scales. Otherwise I have to copy-paste the range() 
> method multiple times instead of put it in a base class.
>

In Java, generics are more or less syntactic sugar for using the erased 
type and casting values. So when using the first one, GWT will, when used 
with O==Ordinal, generate a cast from Object to Ordinal, which IIUC is 
what's causing the error, because your JsType is not a type that can be 
checked (a cast is translated in JS to a type-check using 'instanceof').
 

> The problem is on the exceptions generated by the attempting casting.
>
> As you said this may not be a bug but not for the reason you mentioned.
>
> So the question remains: Should I report it as an issue?
>

I would say no. Your @JsType is wrong. You should either use an interface 
with @JsType(isNative=true, name="?", namespace=JsPackage.GLOBAL), or if 
you want to use fields use a class with @JsType(isNative=true, 
name="Object", namespace=JsPackage.GLOBAL) 

-- 
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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/6206fb29-d3c1-48de-ab04-0610cbb3c2bd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [gwt-contrib] Fwd: jsinterop woes: Part 1: instanceof function in generics casting

2017-06-25 Thread Vassilis Virvilis
Ηι,

thanks for answering

d3.ordinal does not exist as you said. However d3.scale.ordinal exists and
that part works great.

in d3 ordinal is both a function ordinal() which returns an ordinal
instance and an object with more methods such as range() which is the crux
of my issue.

The problem there is that

   - public native  O range(I[] values);   *// this doesn't work*
   - // public native  Ordinal range(I[] values); *// this works*

I would like to use the first definition because it allows reusing some
code between different scales. Otherwise I have to copy-paste the range()
method multiple times instead of put it in a base class.

The problem is on the exceptions generated by the attempting casting.

As you said this may not be a bug but not for the reason you mentioned.

So the question remains: Should I report it as an issue?

   Vassilis


On Sun, Jun 25, 2017 at 3:24 AM, 'Roberto Lublinerman' via GWT Contributors
 wrote:

> The declaration
>
>   package somepackage;
>
>   @JsNative(isTrue, name = "ordinal")
>   class Ordinal {
>   
>   }
>
> effectively says that there is a native type "somepackage.ordinal", which
> d3.ordinal is not.
>
> You can model it as a native interface for example where there is not such
> expectation.
>
> So as I understand your report this is not a bug but just an error in
> modellin
>
> On Sat, Jun 24, 2017 at 7:58 AM, Vassilis Virvilis 
> wrote:
>
>> Originally posted in gwt-users.
>>
>> Two questions:
>>
>>1. Do you want me to report it as a bug somewhere? and where that
>>would be?
>>2. I have two more. Do you want me to post them here or this is not
>>the right place to post at all?
>>
>>
>>
>> -- Forwarded message --
>> From: Vassilis Virvilis 
>> Date: Fri, Feb 24, 2017 at 2:26 PM
>> Subject: jsinterop woes: Part 1: instanceof function in generics casting
>> To: google-web-tool...@googlegroups.com
>>
>>
>> Hi,
>>
>> again I don't know if this is a bug but it hurts my style
>>
>> D3 defines d3.scale.ordinal as both a function and an object.
>> $wnd.d3.scale.ordinal returns function() in the browser's console though
>>
>>
>>@JsType(isNative = true, name = "ordinal")
>>>   public static class Ordinal {
>>>/** @todo TODO: this crashes. Why? */
>>>public native  O range(I[] values);   // this
>>> doesn't work
>>>//public native  Ordinal range(I[] values); // this works
>>>   }
>>>
>>
>> I want the generic type because then I can put it in a base class and
>> share some code.
>>
>> I am using it like this
>>
>>> D3.Scale.Ordinal color = D3.Scale.ordinal().range(new String[]
>>> {"#98abc5", "#8a89a6"});
>>>
>>
>> Here is the javascript exception:
>>
>> Error: java.lang.ClassCastException
>>> at java_lang_ClassCastException_ClassCastException__V.java_lang
>>> _Throwable_createError__Ljava_lang_String_2Ljava_lang_Object_2 [as
>>> package_private$java_lang$createError__Ljava_lang_String_2Ljava_lang_Object_2]
>>> (dashboard-0.js:7245)
>>> at java_lang_ClassCastException_ClassCastException__V.java_lang
>>> _Throwable_initializeBackingError__V [as 
>>> private$java_lang_Throwable$initializeBackingError__V]
>>> (dashboard-0.js:7300)
>>> at 
>>> java_lang_ClassCastException_ClassCastException__V.java_lang_Throwable_Throwable__V
>>> (dashboard-0.js:7133)
>>> at 
>>> java_lang_ClassCastException_ClassCastException__V.java_lang_Exception_Exception__V
>>> (dashboard-0.js:7381)
>>> at java_lang_ClassCastException_ClassCastException__V.java_lang
>>> _RuntimeException_RuntimeException__V (dashboard-0.js:29724)
>>> at java_lang_ClassCastException_ClassCastException__V
>>> (dashboard-0.js:57274)
>>> at javaemul_internal_InternalPreconditions_checkCriticalType__ZV
>>> (dashboard-0.js:72135)
>>> at javaemul_internal_InternalPreconditions_checkType__ZV
>>> (dashboard-0.js:72342)
>>> at com_google_gwt_lang_Cast_castToNative__Ljava_lang_Object_2Lc
>>> om_google_gwt_core_client_JavaScriptObject_2Ljava_lang_Object_2
>>> (dashboard-0.js:707)
>>>
>>
>> In
>>
>>> function com_google_gwt_lang_Cast_castToNative__Ljava_lang_Object_2Lc
>>> om_google_gwt_core_client_JavaScriptObject_2Ljava_lang_Object_2(src_0,
>>> jsType){
>>>   com_google_gwt_lang_Cast_$clinit__V();
>>>   javaemul_internal_InternalPreconditions_checkType__ZV(com_go
>>> ogle_gwt_lang_Cast_jsEquals__Ljava_lang_Object_2Ljava_lang_Object_2Z(src_0,
>>> null) || com_google_gwt_lang_Cast_jsinstanceOf__Ljava_lang_Object_2Lc
>>> om_google_gwt_core_client_JavaScriptObject_2Z(src_0, jsType));
>>>   return src_0;
>>> }
>>>
>>
>> Arguments:
>>
>>- src_0:
>>   - passed:
>>   - evaluated: function scale(x)
>>- jsType:
>>   - passed: $wnd.scale.ordinal
>>   - evaluated: function anonymous()
>>
>> The reason it fails is that
>>
>>> function com_google_gwt_lang_Cast_jsinstanceOf__Ljava_lang_Object_2Lc

Re: [gwt-contrib] Fwd: jsinterop woes: Part 1: instanceof function in generics casting

2017-06-24 Thread 'Roberto Lublinerman' via GWT Contributors
The declaration

  package somepackage;

  @JsNative(isTrue, name = "ordinal")
  class Ordinal {
  
  }

effectively says that there is a native type "somepackage.ordinal", which
d3.ordinal is not.

You can model it as a native interface for example where there is not such
expectation.

So as I understand your report this is not a bug but just an error in
modellin

On Sat, Jun 24, 2017 at 7:58 AM, Vassilis Virvilis 
wrote:

> Originally posted in gwt-users.
>
> Two questions:
>
>1. Do you want me to report it as a bug somewhere? and where that
>would be?
>2. I have two more. Do you want me to post them here or this is not
>the right place to post at all?
>
>
>
> -- Forwarded message --
> From: Vassilis Virvilis 
> Date: Fri, Feb 24, 2017 at 2:26 PM
> Subject: jsinterop woes: Part 1: instanceof function in generics casting
> To: google-web-tool...@googlegroups.com
>
>
> Hi,
>
> again I don't know if this is a bug but it hurts my style
>
> D3 defines d3.scale.ordinal as both a function and an object.
> $wnd.d3.scale.ordinal returns function() in the browser's console though
>
>
>@JsType(isNative = true, name = "ordinal")
>>   public static class Ordinal {
>>/** @todo TODO: this crashes. Why? */
>>public native  O range(I[] values);   // this
>> doesn't work
>>//public native  Ordinal range(I[] values); // this works
>>   }
>>
>
> I want the generic type because then I can put it in a base class and
> share some code.
>
> I am using it like this
>
>> D3.Scale.Ordinal color = D3.Scale.ordinal().range(new String[]
>> {"#98abc5", "#8a89a6"});
>>
>
> Here is the javascript exception:
>
> Error: java.lang.ClassCastException
>> at java_lang_ClassCastException_ClassCastException__V.java_lang
>> _Throwable_createError__Ljava_lang_String_2Ljava_lang_Object_2 [as
>> package_private$java_lang$createError__Ljava_lang_String_2Ljava_lang_Object_2]
>> (dashboard-0.js:7245)
>> at java_lang_ClassCastException_ClassCastException__V.java_lang
>> _Throwable_initializeBackingError__V [as 
>> private$java_lang_Throwable$initializeBackingError__V]
>> (dashboard-0.js:7300)
>> at 
>> java_lang_ClassCastException_ClassCastException__V.java_lang_Throwable_Throwable__V
>> (dashboard-0.js:7133)
>> at 
>> java_lang_ClassCastException_ClassCastException__V.java_lang_Exception_Exception__V
>> (dashboard-0.js:7381)
>> at java_lang_ClassCastException_ClassCastException__V.java_lang
>> _RuntimeException_RuntimeException__V (dashboard-0.js:29724)
>> at java_lang_ClassCastException_ClassCastException__V
>> (dashboard-0.js:57274)
>> at javaemul_internal_InternalPreconditions_checkCriticalType__ZV
>> (dashboard-0.js:72135)
>> at javaemul_internal_InternalPreconditions_checkType__ZV
>> (dashboard-0.js:72342)
>> at com_google_gwt_lang_Cast_castToNative__Ljava_lang_Object_2Lc
>> om_google_gwt_core_client_JavaScriptObject_2Ljava_lang_Object_2
>> (dashboard-0.js:707)
>>
>
> In
>
>> function com_google_gwt_lang_Cast_castToNative__Ljava_lang_Object_2Lc
>> om_google_gwt_core_client_JavaScriptObject_2Ljava_lang_Object_2(src_0,
>> jsType){
>>   com_google_gwt_lang_Cast_$clinit__V();
>>   javaemul_internal_InternalPreconditions_checkType__ZV(com_go
>> ogle_gwt_lang_Cast_jsEquals__Ljava_lang_Object_2Ljava_lang_Object_2Z(src_0,
>> null) || com_google_gwt_lang_Cast_jsinstanceOf__Ljava_lang_Object_2Lc
>> om_google_gwt_core_client_JavaScriptObject_2Z(src_0, jsType));
>>   return src_0;
>> }
>>
>
> Arguments:
>
>- src_0:
>   - passed:
>   - evaluated: function scale(x)
>- jsType:
>   - passed: $wnd.scale.ordinal
>   - evaluated: function anonymous()
>
> The reason it fails is that
>
>> function com_google_gwt_lang_Cast_jsinstanceOf__Ljava_lang_Object_2Lc
>> om_google_gwt_core_client_JavaScriptObject_2Z(obj, jsType){
>>   com_google_gwt_lang_Cast_$clinit__V();
>>   return obj && (jsType && obj instanceof jsType);
>> }
>>
>
> obj is src_0 != null and jsType = function anonymous() != null but (obj
> instanceof jsType) === false
>
> Any idea about that?
>
> --
> Vassilis Virvilis
>
>
>
> --
> Vassilis Virvilis
>
> --
> 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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/ms
> gid/google-web-toolkit-contributors/CAKbOjEx1v%3D-%3DVHd0Z5p
> cgTbKTPzFktR7nxoCx2Sr9yutZHtxiw%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 

[gwt-contrib] Fwd: jsinterop woes: Part 1: instanceof function in generics casting

2017-06-24 Thread Vassilis Virvilis
Originally posted in gwt-users.

Two questions:

   1. Do you want me to report it as a bug somewhere? and where that would
   be?
   2. I have two more. Do you want me to post them here or this is not the
   right place to post at all?



-- Forwarded message --
From: Vassilis Virvilis 
Date: Fri, Feb 24, 2017 at 2:26 PM
Subject: jsinterop woes: Part 1: instanceof function in generics casting
To: google-web-tool...@googlegroups.com


Hi,

again I don't know if this is a bug but it hurts my style

D3 defines d3.scale.ordinal as both a function and an object.
$wnd.d3.scale.ordinal returns function() in the browser's console though


   @JsType(isNative = true, name = "ordinal")
>   public static class Ordinal {
>/** @todo TODO: this crashes. Why? */
>public native  O range(I[] values);   // this doesn't
> work
>//public native  Ordinal range(I[] values); // this works
>   }
>

I want the generic type because then I can put it in a base class and share
some code.

I am using it like this

> D3.Scale.Ordinal color = D3.Scale.ordinal().range(new String[] {"#98abc5",
> "#8a89a6"});
>

Here is the javascript exception:

Error: java.lang.ClassCastException
> at java_lang_ClassCastException_ClassCastException__V.java_lang
> _Throwable_createError__Ljava_lang_String_2Ljava_lang_Object_2 [as
> package_private$java_lang$createError__Ljava_lang_String_2Ljava_lang_Object_2]
> (dashboard-0.js:7245)
> at java_lang_ClassCastException_ClassCastException__V.java_lang
> _Throwable_initializeBackingError__V [as 
> private$java_lang_Throwable$initializeBackingError__V]
> (dashboard-0.js:7300)
> at 
> java_lang_ClassCastException_ClassCastException__V.java_lang_Throwable_Throwable__V
> (dashboard-0.js:7133)
> at 
> java_lang_ClassCastException_ClassCastException__V.java_lang_Exception_Exception__V
> (dashboard-0.js:7381)
> at java_lang_ClassCastException_ClassCastException__V.java_lang
> _RuntimeException_RuntimeException__V (dashboard-0.js:29724)
> at java_lang_ClassCastException_ClassCastException__V
> (dashboard-0.js:57274)
> at javaemul_internal_InternalPreconditions_checkCriticalType__ZV
> (dashboard-0.js:72135)
> at javaemul_internal_InternalPreconditions_checkType__ZV
> (dashboard-0.js:72342)
> at com_google_gwt_lang_Cast_castToNative__Ljava_lang_Object_2Lc
> om_google_gwt_core_client_JavaScriptObject_2Ljava_lang_Object_2
> (dashboard-0.js:707)
>

In

> function com_google_gwt_lang_Cast_castToNative__Ljava_lang_Object_2Lc
> om_google_gwt_core_client_JavaScriptObject_2Ljava_lang_Object_2(src_0,
> jsType){
>   com_google_gwt_lang_Cast_$clinit__V();
>   javaemul_internal_InternalPreconditions_checkType__ZV(com_go
> ogle_gwt_lang_Cast_jsEquals__Ljava_lang_Object_2Ljava_lang_Object_2Z(src_0,
> null) || com_google_gwt_lang_Cast_jsinstanceOf__Ljava_lang_Object_2Lc
> om_google_gwt_core_client_JavaScriptObject_2Z(src_0, jsType));
>   return src_0;
> }
>

Arguments:

   - src_0:
  - passed:
  - evaluated: function scale(x)
   - jsType:
  - passed: $wnd.scale.ordinal
  - evaluated: function anonymous()

The reason it fails is that

> function com_google_gwt_lang_Cast_jsinstanceOf__Ljava_lang_Object_2Lc
> om_google_gwt_core_client_JavaScriptObject_2Z(obj, jsType){
>   com_google_gwt_lang_Cast_$clinit__V();
>   return obj && (jsType && obj instanceof jsType);
> }
>

obj is src_0 != null and jsType = function anonymous() != null but (obj
instanceof jsType) === false

Any idea about that?

-- 
Vassilis Virvilis



-- 
Vassilis Virvilis

-- 
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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAKbOjEx1v%3D-%3DVHd0Z5pcgTbKTPzFktR7nxoCx2Sr9yutZHtxiw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.