slint/internal/compiler/tests/syntax/basic/self_assign.slint
Aurindam Jana 9a3aa265d5
Update Royalty-free license (#5257)
Add clarification that Application may not expose Slint APIs.
2024-05-31 10:53:19 +02:00

65 lines
1.7 KiB
Text

// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 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}
}
}