slint/internal/compiler/tests/syntax/lookup/dashes.slint
2023-06-16 10:55:08 +02:00

40 lines
1.8 KiB
Text

// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.0 OR LicenseRef-Slint-commercial
export Xxx := Rectangle {
my-rect := Rectangle {
border-width: 44px;
}
property <length> x1: my-rect.width;
property <length> x2: my-rect.width-1px;
// ^error{Element 'Rectangle' does not have a property 'width-1px'. Use space before the '-' if you meant a subtraction}
property <length> x3: my_rect.border-width;
property <length> x4: my_rect.border_width-1px;
// ^error{Element 'Rectangle' does not have a property 'border_width-1px'. Use space before the '-' if you meant a subtraction}
property <{a-b: string, d-c: string, e_f: string, xx: { hello: int, world: int }}> obj: {a_b: "hello", d-c: "world", e-f: "!"};
property<int> t1: -obj.xx-42;
// ^error{Cannot access the field 'xx-42'. Use space before the '-' if you meant a subtraction}
property<int> t2: -obj.xx.hello-world;
// ^error{Cannot access the field 'hello-world'. Use space before the '-' if you meant a subtraction}
property<int> t3: x-4;
// ^error{Unknown unqualified identifier 'x-4'. Use space before the '-' if you meant a subtraction}
// the following did not mean subtraction:
property<int> t4: foo-bar;
// ^error{Unknown unqualified identifier 'foo-bar'$}
property<int> t5: x_y;
// ^error{Unknown unqualified identifier 'x_y'$}
property<int> t6: obj.a-bc;
// ^error{Cannot access the field 'a-bc'$}
property<int> t7: obj.xx.obj-4;
// ^error{Cannot access the field 'obj-4'$}
}