Re: [abc] abc compiling itself

From: Ganesh Sittampalam <Ganesh.Sittampalam@comlab.ox.ac.uk>
Date: Fri Sep 17 2004 - 16:22:52 BST

On Fri, 17 Sep 2004, Ondrej Lhotak wrote:

> The problem is the class with the name:
> CUP$Grm$actions
>
> Based on the name, AbcClassSource concludes that it should be in the
> source file CUP, but it isn't, so it loads it from a class file instead.

Right, and if we make abc compile from a different class path to the one
it is running from so as to exclude .class files, then it fails with
precisely this class being missing.

> Now, something that would make this example work, but isn't a general
> solution, would be this: currently, abc knows about which AST *some*
> inner/local classes are in, but not all. So, we just chop off everything
> after the $ and say that it should be in CUP. But, *in this case*, we do
> have CUP$Grm$actions in our little table saying that it's in Grm. So,
> we *could* just do both: check the little table with the original class
> name, and the class name with everything after the $ removed. That would
> work for this example, but wouldn't for an example in which abc doesn't
> have the class in the table (such as if it were an anonymous class).

Does that mean that an anonymous class inside a class that hasn't got the
same name as the file it is in would still break?

> Given that this stuff isn't specified, I don't have a general solution.

It does seem like a complete mess.

Ganesh
Received on Fri Sep 17 16:22:55 2004

This archive was generated by hypermail 2.1.8 : Fri Sep 17 2004 - 16:40:02 BST