Inherited attributes evaluate NTA components

Issue #261 resolved
Jesper Öqvist created an issue

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)

  1. Jesper Öqvist reporter

    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.

  2. Jesper Mattsson Account Deactivated

    Does that mean that getXNoTransform() is back to not evaluating the NTA for legacy mode?

  3. Log in to comment