Reduce errors when a namespace is not found

When the typelib for a namespace is not found, don't emit "namespace not
imported" errors. Just emit the one error on the import statement.
This commit is contained in:
James Westman 2023-03-21 11:31:02 -05:00
parent 402677f687
commit bc605c5df8
No known key found for this signature in database
GPG key ID: CE2DBA0ADB654EA6
6 changed files with 20 additions and 1 deletions

View file

@ -76,6 +76,14 @@ class Import(AstNode):
UseNumberText("version").expected("a version number"),
)
@property
def namespace(self):
return self.tokens["namespace"]
@property
def version(self):
return self.tokens["version"]
@validate("namespace", "version")
def namespace_exists(self):
gir.get_namespace(self.tokens["namespace"], self.tokens["version"])

View file

@ -58,6 +58,8 @@ class UI(AstNode):
try:
if i.gir_namespace is not None:
gir_ctx.add_namespace(i.gir_namespace)
else:
gir_ctx.not_found_namespaces.add(i.namespace)
except CompileError as e:
e.start = i.group.tokens["namespace"].start
e.end = i.group.tokens["version"].end