Add errors for duplicate properties and blocks

This commit is contained in:
James Westman 2022-05-27 13:27:18 -05:00
parent f18c8b7a2d
commit 824476bda1
No known key found for this signature in database
GPG key ID: CE2DBA0ADB654EA6
12 changed files with 122 additions and 0 deletions

View file

@ -139,6 +139,13 @@ class A11yProperty(BaseTypedAttribute):
did_you_mean=(self.tokens["name"], types.keys()),
)
@validate("name")
def unique_in_parent(self):
self.validate_unique_in_parent(
f"Duplicate accessibility attribute '{self.tokens['name']}'",
check=lambda child: child.tokens["name"] == self.tokens["name"],
)
@docs("name")
def prop_docs(self):
if self.tokens["name"] in get_types(self.root.gir):
@ -156,6 +163,9 @@ class A11y(AstNode):
def container_is_widget(self):
validate_parent_type(self, "Gtk", "Widget", "accessibility properties")
@validate("accessibility")
def unique_in_parent(self):
self.validate_unique_in_parent("Duplicate accessibility block")
def emit_xml(self, xml: XmlEmitter):
xml.start_tag("accessibility")