Inherited attributes evaluate NTA components
Due to the change in JastAdd 2.2.1 that makes getX{List,Opt,}NoTransform()
evaluate NTA components, inherited attributes will now evaluate NTAs. This can cause problems, especially if an NTA uses an inherited attribute during construction. This behavior was not tested in our test suite, but discovered in ExtendJ after upgrading to JastAdd 2.2.1. The CI server did not test the integration either because the change was committed after the latest integration test with ExtendJ, despite that I thought it had been tested already.
The evaluation of NTAs needs to be avoided during inherited attribute evaluation, and tests should be added to the test suite which ensure this behavior does not break again. It is probably a good idea to make a bugfix release with just this fix also.
Comments (4)
-
reporter -
reporter - changed status to resolved
-
Account Deactivated Does that mean that getXNoTransform() is back to not evaluating the NTA for legacy mode?
-
reporter Yes, I reverted the changes to
getXNoTransform()
completely. - Log in to comment
Added regression test named
nta/inh_06
to test this bug. I will revert the commit that caused the issue, and push a commit that fixes this error in the circular NTA rewrite mode.