slint/internal/compiler/tests/syntax/basic/self_assign.slint
Simon Hausmann 24dcef5fed
First stage of cleaning up the export handling of the slint root component (#2095)
We implicitly export the last component of a .slint file to the generator.
Issue a warning when that happens and suggest to export it explicitly.
2023-01-23 15:19:49 +01:00

65 lines
1.7 KiB
Text

// Copyright © SixtyFPS GmbH <info@slint-ui.com>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-commercial
export 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}
}
}