Yeah, I’m getting there too after pulling on a string I liked more at first than I do now. Thanks Dan. Next question: If we are embracing accidental names, what are the rules for the name-precursors? Can we extract an accidental name from any possible file name in any possible file system? Or are there restrictions on the file names? Since this is a pedagogical feature, I suppose we require the “.java” suffix always, despite the inevitable requests for shebang script support.
A class name must conform to various constraints, such as matching the "Identifier"production; the compiler should demand the same of the implicit name.
The compiler currently enforces matching of the class name to the file name (for public classes); we can enforce the same on the (implicit name, file name) pair.
These mean that if you want to add the `class Foo { .. }` wrapper, you won't run into accidental problems. (I spy an embedding-projection pair; stay within the embeddable domain.)
