sixtyfps-compilerlib 0.0.1

Internal SixtyFPS compiler library
Documentation
/* LICENSE BEGIN
    This file is part of the SixtyFPS Project -- https://sixtyfps.io
    Copyright (c) 2020 Olivier Goffart <olivier.goffart@sixtyfps.io>
    Copyright (c) 2020 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 */

SubElements := Rectangle {
    signal foobar;

    signal signal_with_arg(int, string);

    signal invalid_arg(InvalidType);
//                     ^error{Unknown type 'InvalidType'}

    TouchArea {
        clicked => { foobar() }
    }

    TouchArea {
        clicked: 45;
//      ^error{'clicked' is a signal. Use `=>` to connect}
        x => {}
//      ^error{'x' is not a signal in TouchArea}
    }

    TouchArea {
        clicked => { foobar() }
        clicked => { foobar() }
//      ^error{Duplicated signal}
    }

    does_not_exist => {
//  ^error{'does_not_exist' is not a signal in Rectangle}
        root.does_not_exist();
    }

    foobar() => { foobar() }
    signal_with_arg(a, b, c, d) => { }
//  ^error{'signal_with_arg' only has 2 arguments, but 4 were provided}

}