Skip to content

Cleanup OO macros

TimePath requested to merge TimePath/oo into master

In addition, adds a CONSTRUCTOR macro

CLASS(Example, Object)
    ATTRIB(Example, field1, int, 0)
    CONSTRUCTOR(Example, int param1) {
        CONSTRUCT(Example); // TODO: want to call this `SUPER` and make the current `SUPER` become `instance.super`
        this.field1 = param1;
        return this;
    }
    ATTRIB(Example, field2, int, 0)
    CONSTRUCTOR(Example, int param1, int param2) {
        CONSTRUCT(Example, param1);
        this.field2 = param2;
        return this;
    }
ENDCLASS(Example)

Merge request reports