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
|
||||
elif self.parent and self.parent.assignable_to(other):
|
||||
return True
|
||||
elif other in self.implements:
|
||||
return True
|
||||
else:
|
||||
for iface in self.implements:
|
||||
if self.get_containing(Namespace).lookup_type(iface).assignable_to(other):
|
||||
return True
|
||||
|
||||
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;
|
||||
|
||||
StringList {
|
||||
StringList greetings {
|
||||
strings [
|
||||
"Hello, world!",
|
||||
_("Hello!"),
|
||||
]
|
||||
}
|
||||
|
||||
Gtk.DropDown {
|
||||
model: greetings;
|
||||
}
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.0"/>
|
||||
<object class="GtkStringList">
|
||||
<object class="GtkStringList" id="greetings">
|
||||
<items>
|
||||
<item>Hello, world!</item>
|
||||
<item translatable="true">Hello!</item>
|
||||
</items>
|
||||
</object>
|
||||
<object class="GtkDropDown">
|
||||
<property name="model">greetings</property>
|
||||
</object>
|
||||
</interface>
|
||||
|
|
|
@ -144,6 +144,7 @@ class TestSamples(unittest.TestCase):
|
|||
self.assert_sample_error("class_assign")
|
||||
self.assert_sample_error("class_dne")
|
||||
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("enum_member_dne")
|
||||
self.assert_sample_error("filters_in_non_file_filter")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue