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