Parameterized NTA value list does not include null values

Create issue
Issue #112 invalid
Jesper Öqvist created an issue

Comments (3)

  1. Jesper Öqvist reporter

    I can't find any justification for why we should store null NTA values in a proxy list object for parameterized NTAs.

    The test for this issue, nta/parameterized04, uses an internal JastAdd object.

    Previously computed parameterized NTA values should not be iterable through any non-internal JastAdd APIs so there is no need to store null references internally except for memoization implementation.

  2. Jesper Öqvist reporter

    Partially decouple NTA proxy objects

    Proxy objects are used to locate NTA children from parameterized NTAs during inherited attribute evaluation. Previously the proxy object was a list, and the list could be used to iterate over evaluated parameterized NTA values.

    Proxy objects are now plain ASTNode instances, and when not using rewrites or using circular NTA rewrites they do not contain references to the child nodes using them as proxy parents.

    Null references are no longer stored in the proxy objects in any configuration.

    This change also renames the proxy objects from attrname_list to attrname_proxy.

    see #112 (bitbucket)

    → <<cset ba3e637e9dd9>>

  3. Log in to comment