slint/sixtyfps_compiler/tests/syntax/lookup/two_way_binding.60
Olivier Goffart c25538c982 Normalize identifiers to - instead of _
As a result
 - The error messages will now show the error with `-` instead of `_`
 - The LSP will auto-complete with -
 - The interpreter's list of properties will list the property with '-'
   (but we made the change so that set_property, get_property, and so on
   work also if passed a '-')
2021-08-10 22:21:01 +02:00

42 lines
1.3 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 */
X := Rectangle {
property <brush> my_color <=> self.background;
x <=> y;
width <=> self.height;
border_color <=> blue;
// ^error{The expression in a two way binding must be a property reference}
border_width <=> 4px + 4px;
// ^error{The expression in a two way binding must be a property reference}
xx := Rectangle {
x: 42phx;
width <=> parent.width;
height <=> x;
background <=> root.x;
// ^error{The property does not have the same type as the bound property}
y <=> y;
// ^error{Property cannot alias to itself}
}
property <int> dd <=> dd;
// ^error{Property cannot alias to itself}
Rectangle {
x <=> self.loop_on_x;
// ^error{The binding for the property 'x' is part of a binding loop}
property <length> loop_on_x <=> x;
// ^error{The binding for the property 'loop-on-x' is part of a binding loop}
}
}