mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 06:11:16 +00:00
Apply suggestions from code review
Co-authored-by: Simon Hausmann <simon.hausmann@sixtyfps.io>
This commit is contained in:
parent
715d38903f
commit
6a4cd0087f
4 changed files with 5 additions and 4 deletions
|
@ -168,13 +168,13 @@ Example := Button {
|
||||||
Using the `<=>` syntax, one can create two ways binding between properties. These properties are now linked
|
Using the `<=>` syntax, one can create two ways binding between properties. These properties are now linked
|
||||||
together.
|
together.
|
||||||
The right hand side of the `<=>` must be a reference to a property of the same type.
|
The right hand side of the `<=>` must be a reference to a property of the same type.
|
||||||
The type can be omitted in a property declaration to have the type automatically infered.
|
The type can be omitted in a property declaration to have the type automatically inferred.
|
||||||
|
|
||||||
|
|
||||||
```60
|
```60
|
||||||
Example := Window {
|
Example := Window {
|
||||||
property<brush> rect_color <=> r.background;
|
property<brush> rect_color <=> r.background;
|
||||||
// it is allowed to omit the type to have it automatically infered
|
// it is allowed to omit the type to have it automatically inferred
|
||||||
property rect_color2 <=> r.background;
|
property rect_color2 <=> r.background;
|
||||||
r:= Rectangle {
|
r:= Rectangle {
|
||||||
width: parent.width;
|
width: parent.width;
|
||||||
|
|
|
@ -221,7 +221,7 @@ impl Type {
|
||||||
| Self::Struct { .. }
|
| Self::Struct { .. }
|
||||||
| Self::Array(_)
|
| Self::Array(_)
|
||||||
| Self::Brush
|
| Self::Brush
|
||||||
| Self::Void // Void is not a valid type for property, but it is temporarily used for infered two ways bindings
|
| Self::Void // Void is not a valid type for property, but it is temporarily used for inferred two ways bindings
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ fn resolve_alias(
|
||||||
lookup_ctx.component_scope = &scope;
|
lookup_ctx.component_scope = &scope;
|
||||||
Expression::from_two_way_binding(node, &mut lookup_ctx)
|
Expression::from_two_way_binding(node, &mut lookup_ctx)
|
||||||
}
|
}
|
||||||
_ => panic!("The parser should make sure that the expression is "),
|
_ => panic!("There should be a Uncompiled expression at this point."),
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut ty = e.ty();
|
let mut ty = e.ty();
|
||||||
|
|
|
@ -65,6 +65,7 @@ fn resolve_expression(
|
||||||
}
|
}
|
||||||
SyntaxKind::TwoWayBinding => {
|
SyntaxKind::TwoWayBinding => {
|
||||||
if lookup_ctx.property_type == Type::Invalid {
|
if lookup_ctx.property_type == Type::Invalid {
|
||||||
|
// An attempt to resolve this already failed when trying to resolve the property type
|
||||||
assert!(diag.has_error());
|
assert!(diag.has_error());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue