On Fri, May 27, 2011 at 10:03 AM, Scott Blum <sco...@google.com> wrote:
> What John said. Blame Java for the fact that with some lookup oracle, it's > impossible to distinguish the cases. We've always assumed that users would > not use '$' in class names in places where it matters. > > That being said, let's assume that a user isn't allowed to have both A.B > and A$B like Toby said, as the binary names would collide. Given that, I > *think* the only place source type name really matters is resolving rebind > requests and results. So maybe it's possible we could use only binary name > or internal name everywhere and move away from using source name except in > output messages. > I don't think that solves the problem -- let's say we store Foo/Bar$Baz internally and convert it to a source name where needed. How do we know whether the class name is Bar$Baz or Baz inside of Bar? The problem is simply if you allow $ in a class name, binary and internal names are lossy too as they no longer encode the difference. -- John A. Tamplin Software Engineer (GWT), Google -- http://groups.google.com/group/Google-Web-Toolkit-Contributors