/* LICENSE BEGIN This file is part of the SixtyFPS Project -- https://sixtyfps.io Copyright (c) 2021 Olivier Goffart Copyright (c) 2021 Simon Hausmann 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 glop_col; property 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; }