I am noticing that while unnecessary casts of an EnumType to (Enum) no longer happen, there is still a cast generated, for the EnumType itself. Is that necessary?
E.g., I'm seeing code like this: Fruit fruit = Fruit.APPLE; int i = fruit.ordinal(); ending up in the AST like this (from an AST dump): EntryPoint$Fruit fruit = EntryPoint$Fruit.APPLE; int i = ((EntryPoint$Fruit) fruit).ordinal; Is that extra cast necessary still? I don't think it affects correctness, and I assume it gets optimized away later, but I wonder if we can prevent it from getting inserted at all here. http://gwt-code-reviews.appspot.com/1426804/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors