slint/sixtyfps_compiler/tests/syntax/lookup/signal_arg.60
Olivier Goffart 64499498b0 Fix the syntax_tests
We now get an error in recursive functions, but that's not the point of this test
2021-11-02 11:59:02 +01:00

42 lines
1.7 KiB
Text

/* 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 */
Xxx := Rectangle {
callback plop(string, color, int);
callback plop2(string, color, int);
property <color> glop_col;
property <string> blah: "yo";
plop2(x, blah, hello) => {
background = blah;
x = 42 + hello;
// ^error{Assignment needs to be done on a property}
width = x;
// ^error{Cannot convert string to length}
plop("hallo", #fff, 42);
plop("hallo", #fff,);
// ^error{The callback or function expects 3 arguments, but 2 are provided}
plop("hallo", #fff, 42, true);
// ^error{The callback or function expects 3 arguments, but 4 are provided}
plop(42, 42, 42);
// ^error{Cannot convert float to color}
hello(45, fff);
// ^error{The expression is not a function}
// ^^error{Unknown unqualified identifier 'fff'}
(plop)("45", #fff, 42);
// ^warning{Parentheses around callable are deprecated. Remove the parentheses}
(root.plop)("45", #fff, 42);
// ^warning{Parentheses around callable are deprecated. Remove the parentheses}
(root.plop)("45", #fff, "45");
// ^error{Cannot convert string to int}
// ^^warning{Parentheses around callable are deprecated. Remove the parentheses}
}
x: 12phx;
}