Add unit tests for base class support, and fix some issues.

Review Request #12916 — Created March 24, 2023 and submitted — Latest diff uploaded

Information

Spina
master

Reviewers

This change adds a new test suite covering spinaBaseClassExtends()
(and a lot of common code shared with @spina).

In the process, some typing and runtime issues were found and fixed:

  • Mixins can now mix in static members.

  • Mixins are now applied before processing attributes, allowing for
    static members to be mixed in and processed.

  • An attribute was unnecessarily set twice when copying static members
    to the prototype.

  • extend() is now part of the SpinaClass interface.

  • Some functions now reference PartialSpinaClass rather than
    SpinaClass, when working with a class that hasn't yet been fully
    processed.

Unit tests pass.

Commits

Files