// Copyright © SixtyFPS GmbH // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 global Glob { function g1() {} protected function g2() {} public function g3() {} function c() { g1();g2();g3(); } } Comp := Rectangle { // ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info} function f1() {} public function f2() {} protected function f3() {} function c() { f1();f2();f3(); } } export Xxx := Rectangle { // ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info} function foo(a: int) -> string { return a; } comp := Comp {} function bar() { foo(45, 45); // ^error{The callback or function expects 1 arguments, but 2 are provided} foo.hello(45); // ^error{Cannot access fields of a function} root.foo(); // ^error{The callback or function expects 1 arguments, but 0 are provided} root.foo.hello(45); // ^error{Cannot access fields of a function} comp.f1(); // ^error{The function 'f1' is private. Annotate it with 'public' to make it accessible from other components} comp.f2(); comp.f3(); // ^error{The function 'f3' is protected} notexist(); // ^error{Unknown unqualified identifier 'notexist'} comp.notexist(56, foo("fff")); // ^error{Element 'Comp' does not have a property 'notexist'} // ^^error{Cannot convert string to int} 45()()(); // ^error{The expression is not a function} (foo)(1); // ^error{Function must be called. Did you forgot the '()'?} } callback xx <=> foo; // ^error{Binding to callback 'xx' must bind to another callback} } export component DerComp inherits Comp { public function f4() { root.f1(); // ^error{The function 'f1' is private. Annotate it with 'public' to make it accessible from other components} root.f2(); root.f3(); self.f1(); // ^error{The function 'f1' is private. Annotate it with 'public' to make it accessible from other components} self.f2(); self.f3(); } } export component DerDerComp inherits DerComp { public function f5() { root.f1(); // ^error{The function 'f1' is private. Annotate it with 'public' to make it accessible from other components} root.f2(); root.f3(); // ^error{The function 'f3' is protected} self.f1(); // ^error{The function 'f1' is private. Annotate it with 'public' to make it accessible from other components} self.f2(); self.f3(); // ^error{The function 'f3' is protected} Glob.g1(); // ^warning{The function 'g1' is private. Annotate it with 'public' to make it accessible from other components. Note: this used to be allowed in previous version, but this should be considered an error} Glob.g2(); // ^error{The function 'g2' is protected} Glob.g3(); } }