I've found an interesting error in GWT 1.5.3: [ERROR] Line 14: Type mismatch: cannot convert from Test.Parametric.Number s to Test.Parametric<T>.Numbers [ERROR] Line 17: Type mismatch: cannot convert from Test.Parametric.Number s to Test.Parametric<T>.Numbers Compiling module test.Test Computing all possible rebind results for 'test.client.Test' Rebinding test.client.Test Checking rule <generate-with class='com.google.gwt.user.rebind.ui.ImageBun dleGenerator'/> [ERROR] Unable to find type 'test.client.Test' [ERROR] Hint: Previous compiler errors may have made this type unava ilable [ERROR] Hint: Check the inheritance chain from your module; it may n ot be inheriting a required module or a module may not be adding its source path entries properly
To reproduce: public class Test implements EntryPoint { static class Parametric<T> { enum Numbers { ONE, TWO; } } public void onModuleLoad() { switch (Parametric.Numbers.valueOf("ONE")) { case ONE: // Line 14 System.out.println("ONE"); break; case TWO: // Line 17 System.out.println("ONE"); break; } } } Removing the parameter from the type enclosing the enum fixes the problem. The above *works* in trunk and 1.6, but I searched a little bit and I couldn't find anything in the issue tracker that appeared related. Upgrading to 1.6/trunk isn't a good option for me at the moment, so I'm hoping that someone has seen this before and could help me find the change that fixed it. If it's a simple patch, I can apply it to 1.5.3 until such time as an upgrade is possible. Moving the enum to a non-parameterized type would probably work as well, but I'm loathe to do too much redesign on account of a compiler bug that appears to already have been fixed. --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---