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

Reply via email to