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

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

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.

Summary ID
Add unit tests for base class support, and fix some issues.
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.
94d5f3be16d39b57b07d570a54ecefa281110747
chipx86
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to master (0ab7410)