mirror of
https://gitlab.gnome.org/jwestman/blueprint-compiler.git
synced 2025-05-04 15:59:08 -04:00
parent
0e3280fcc5
commit
85150d397b
6 changed files with 22 additions and 4 deletions
|
@ -257,9 +257,11 @@ class Class(GirNode, GirType):
|
||||||
return True
|
return True
|
||||||
elif self.parent and self.parent.assignable_to(other):
|
elif self.parent and self.parent.assignable_to(other):
|
||||||
return True
|
return True
|
||||||
elif other in self.implements:
|
|
||||||
return True
|
|
||||||
else:
|
else:
|
||||||
|
for iface in self.implements:
|
||||||
|
if self.get_containing(Namespace).lookup_type(iface).assignable_to(other):
|
||||||
|
return True
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
|
7
tests/sample_errors/does_not_implement.blp
Normal file
7
tests/sample_errors/does_not_implement.blp
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
using Gtk 4.0;
|
||||||
|
|
||||||
|
Label label {}
|
||||||
|
|
||||||
|
DropDown {
|
||||||
|
model: label;
|
||||||
|
}
|
1
tests/sample_errors/does_not_implement.err
Normal file
1
tests/sample_errors/does_not_implement.err
Normal file
|
@ -0,0 +1 @@
|
||||||
|
6,10,5,Cannot assign Gtk.Label to Gio.ListModel
|
|
@ -1,8 +1,12 @@
|
||||||
using Gtk 4.0;
|
using Gtk 4.0;
|
||||||
|
|
||||||
StringList {
|
StringList greetings {
|
||||||
strings [
|
strings [
|
||||||
"Hello, world!",
|
"Hello, world!",
|
||||||
_("Hello!"),
|
_("Hello!"),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Gtk.DropDown {
|
||||||
|
model: greetings;
|
||||||
|
}
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk" version="4.0"/>
|
<requires lib="gtk" version="4.0"/>
|
||||||
<object class="GtkStringList">
|
<object class="GtkStringList" id="greetings">
|
||||||
<items>
|
<items>
|
||||||
<item>Hello, world!</item>
|
<item>Hello, world!</item>
|
||||||
<item translatable="true">Hello!</item>
|
<item translatable="true">Hello!</item>
|
||||||
</items>
|
</items>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="GtkDropDown">
|
||||||
|
<property name="model">greetings</property>
|
||||||
|
</object>
|
||||||
</interface>
|
</interface>
|
||||||
|
|
|
@ -144,6 +144,7 @@ class TestSamples(unittest.TestCase):
|
||||||
self.assert_sample_error("class_assign")
|
self.assert_sample_error("class_assign")
|
||||||
self.assert_sample_error("class_dne")
|
self.assert_sample_error("class_dne")
|
||||||
self.assert_sample_error("consecutive_unexpected_tokens")
|
self.assert_sample_error("consecutive_unexpected_tokens")
|
||||||
|
self.assert_sample_error("does_not_implement")
|
||||||
self.assert_sample_error("duplicate_obj_id")
|
self.assert_sample_error("duplicate_obj_id")
|
||||||
self.assert_sample_error("enum_member_dne")
|
self.assert_sample_error("enum_member_dne")
|
||||||
self.assert_sample_error("filters_in_non_file_filter")
|
self.assert_sample_error("filters_in_non_file_filter")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue