slint/sixtyfps_compiler/tests/syntax/analysis/binding_loop_layout.60
2021-07-02 15:55:54 +02:00

55 lines
2.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 */
TC := Rectangle {
outer := VerticalLayout {
// ^error{The binding for the property 'width' is part of a binding loop}
// ^^error{The binding for the property 'layoutinfo_h' is part of a binding loop}
inner := HorizontalLayout {
// ^error{The binding for the property 'width' is part of a binding loop}
// ^^error{The binding for the property 'layoutinfo_h' is part of a binding loop}
inner_inner := VerticalLayout {
width: parent.width;
// ^error{The binding for the property 'width' is part of a binding loop}
Rectangle {}
}
}
}
}
Test := Rectangle {
VerticalLayout {
// ^error{The binding for the property 'layoutinfo_h' is part of a binding loop} // FIXME: That's an internal property, but people might understand
// ^^error{The binding for the property 'min_width' is part of a binding loop}
Rectangle {
width: parent.min_width;
// ^error{The binding for the property 'width' is part of a binding loop}
}
}
l := HorizontalLayout {
// ^error{The binding for the property 'layoutinfo_h' is part of a binding loop} // FIXME: That's an internal property, but people might understand
// ^^error{The binding for the property 'preferred_width' is part of a binding loop}
Text {
text: "hello \{l.preferred-width/1px}x\{l.preferred-height/1px}";
// ^error{The binding for the property 'text' is part of a binding loop}
}
}
tc := TC {
// ^error{The binding for the property 'preferred_width' is part of a binding loop}
// ^^error{The binding for the property 'layoutinfo_h' is part of a binding loop}
width: preferred-width;
// ^error{The binding for the property 'width' is part of a binding loop}
}
}