slint/sixtyfps_compiler/tests/syntax/basic/self_assign.60
2021-07-23 16:33:50 +02:00

72 lines
2 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 */
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}
}
}