arendst / Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
https://tasmota.github.io/docs
GNU General Public License v3.0
22.03k stars 4.78k forks source link

Berry change internal storage of parent class for methods #21490

Closed s-hadinger closed 4 months ago

s-hadinger commented 4 months ago

Description:

First phase of adding the possibility to share a method between multiple class, which overcomes the lack of multiple inheritance.

In this first phase, the parent class is added to bproto in a rarely used ptab/nproto used to store sub-functions. When solidifying, the original class name (i.e. the class name of the original class where the method was first implemented) is added as prefix.

No functional change.

Checklist:

NOTE: The code change must pass CI tests. Your PR cannot be merged unless tests pass