sixtyfps-compilerlib 0.1.2

Internal SixtyFPS compiler library
Documentation
/* LICENSE BEGIN
    This file is part of the SixtyFPS Project -- https://sixtyfps.io
    Copyright (c) 2021 Olivier Goffart <olivier.goffart@sixtyfps.io>
    Copyright (c) 2021 Simon Hausmann <simon.hausmann@sixtyfps.io>

    SPDX-License-Identifier: GPL-3.0-only
    This file is also available under commercial licensing terms.
    Please contact info@sixtyfps.io for more information.
LICENSE END */
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}
    }

}