sixtyfps-compilerlib 0.1.6

Internal SixtyFPS compiler library
Documentation
// Copyright © SixtyFPS GmbH <info@sixtyfps.io>
// SPDX-License-Identifier: (GPL-3.0-only OR LicenseRef-SixtyFPS-commercial)

SuperSimple := Rectangle {
    TouchArea {
        clicked => { root.x += 1phx; }
    }
    TouchArea {
        clicked => { x += 1phx; }
    }
    TouchArea {
        clicked => { 12 += 1; }
//                   ^error{Self assignment needs to be done on a property}
    }
    TouchArea {
        clicked => { x += "string"; }
//                       ^error{Cannot convert string to length}
    }

    TouchArea {
        clicked => { doesnotexist += 24; }
//                   ^error{Unknown unqualified identifier 'doesnotexist'}
    }

    TouchArea {
        property <string> text;
        clicked => { text *= 2; }
//                   ^error{the \*= operation cannot be done on a string}
    }

    TouchArea {
        property <string> text;
        clicked => { text += 2; }
    }

    TouchArea {
        property <string> text;
        clicked => {
            text /= "hello";
//          ^error{the /= operation cannot be done on a string}
            text *= 2;
//          ^error{the \*= operation cannot be done on a string}
            text -= text;
//          ^error{the -= operation cannot be done on a string}
        }
    }

    TouchArea {
        property <brush> color;
        clicked => { color += color; }
//                   ^error{the \+= operation cannot be done on a brush}
    }

    TouchArea {
        property <brush> color;
        clicked => { color *= 3; }
//                   ^error{the \*= operation cannot be done on a brush}
    }

    TouchArea {
        clicked => { height /= height; }
//                            ^error{Cannot convert length to float}
    }

}