"Cache all" gives failing behavior of ExtendJ
Emma has compiled a program with JastAddJ, generated using the cache all flag on jastadd2.jar. This caused the compilation to give erroneous behavior. I don't remember which program it was. Probably Antlr, JUnt, Lucene, PMD, or Chart.
Comments (3)
-
reporter -
- changed title to "Cache all" gives failing behavior of ExtendJ
-
- changed status to wontfix
That the "cache all" option does not work with ExtendJ is not surprising since ExtendJ has circular attributes with non-circular intermediate attributes. This can not be "fixed" until inherited attributes are possible to declare as circular.
The issue does not need to be fixed, though. All attributes in a circular attribute evaluation do not need to be declared circular: only a single attribute on every possible circular evaluation chain needs to be declared circular. I know this goes against the common practices for JastAdd coding, but in ExtendJ it gives a big benefit in allowing some attributes to appear in a circular configuration and outside a circular configuration and not always incur a fixed-point evaluation.
- Log in to comment
Emma says all the programs had some problem with anonymous classes. Try with junit 3.8.1 which is the smallest example program.