From: Petr Špaček Date: Thu, 12 May 2022 17:33:20 +0000 (+0200) Subject: Warn about statements not found in the grammar X-Git-Tag: v9.19.3~16^2~19 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=ebe6ede2ec7982aa7346bf9369a4be87b6b6c764;p=thirdparty%2Fbind9.git Warn about statements not found in the grammar --- diff --git a/doc/arm/_ext/iscconf.py b/doc/arm/_ext/iscconf.py index a6ecf212fdd..f1b4c7e1184 100644 --- a/doc/arm/_ext/iscconf.py +++ b/doc/arm/_ext/iscconf.py @@ -216,12 +216,15 @@ def domain_factory(domainname, domainlabel, todolist, grammar): location=(new["docname"], new["lineno"]), ) + def get_statement_name(self, signature): + return "{}.{}.{}".format(domainname, "statement", signature) + def add_statement(self, signature, tags, short, lineno): """ Add a new statement to the domain data structures. No visible effect. """ - name = "{}.{}.{}".format(domainname, "statement", signature) + name = self.get_statement_name(signature) anchor = "{}-statement-{}".format(domainname, signature) new = { @@ -291,6 +294,18 @@ def domain_factory(domainname, domainlabel, todolist, grammar): domainlabel, ) + extra_statement_sigs = defined_statements.difference(statements_in_grammar) + for extra in extra_statement_sigs: + fullname = self.get_statement_name(extra) + desc = self.data["statements"][fullname] + logger.warning( + ".. statement:: %s found but matching definition in %s grammar is" + " missing", + extra, + domainlabel, + location=(desc["docname"], desc["lineno"]), + ) + @classmethod def process_statementlist_nodes(cls, app, doctree, fromdocname): """