|
@@ -107,6 +107,7 @@ def __init__(self, name=None):
|
|
self.name = name
|
|
self.name = name
|
|
# the list of lines for this section
|
|
# the list of lines for this section
|
|
self.content = []
|
|
self.content = []
|
|
|
|
+ self.optional = False
|
|
|
|
|
|
def append(self, line):
|
|
def append(self, line):
|
|
self.content.append(line)
|
|
self.content.append(line)
|
|
@@ -982,15 +983,15 @@ def check_definition_doc(doc, expr, info):
|
|
desc = doc.args.get(arg)
|
|
desc = doc.args.get(arg)
|
|
if not desc:
|
|
if not desc:
|
|
continue
|
|
continue
|
|
|
|
+ desc.optional = opt
|
|
desc_opt = "#optional" in str(desc)
|
|
desc_opt = "#optional" in str(desc)
|
|
if desc_opt and not opt:
|
|
if desc_opt and not opt:
|
|
raise QAPISemError(info, "Description has #optional, "
|
|
raise QAPISemError(info, "Description has #optional, "
|
|
"but the declaration doesn't")
|
|
"but the declaration doesn't")
|
|
if not desc_opt and opt:
|
|
if not desc_opt and opt:
|
|
- # silently fix the doc
|
|
|
|
# TODO either fix the schema and make this an error,
|
|
# TODO either fix the schema and make this an error,
|
|
# or drop #optional entirely
|
|
# or drop #optional entirely
|
|
- desc.append("#optional")
|
|
|
|
|
|
+ pass
|
|
|
|
|
|
doc_args = set(doc.args.keys())
|
|
doc_args = set(doc.args.keys())
|
|
args = set([name.strip('*') for name in args])
|
|
args = set([name.strip('*') for name in args])
|