Lines Matching refs:fdata

67     def warn(self, fdata, msg, extra=None):  argument
94 def _parse_line(self, fdata, line): argument
111 if fdata.tag == "description":
115 elif fdata.tag != "":
116 self.warn(fdata, f"tag '{fdata.tag}' is invalid", line)
121 self.warn(fdata, "tag 'Where' is invalid. Should be 'What:' instead")
125 fdata.space = None
128 self.add_symbol(what=content, fname=fdata.fname, ln=fdata.ln)
130 if fdata.tag == "what":
131 fdata.what.append(content.strip("\n"))
133 if fdata.key:
134 if "description" not in self.data.get(fdata.key, {}):
135 self.warn(fdata, f"{fdata.key} doesn't have a description")
137 for w in fdata.what:
138 self.add_symbol(what=w, fname=fdata.fname,
139 ln=fdata.what_ln, xref=fdata.key)
141 fdata.label = content
145 fdata.key = self.re_unprintable.sub("_", key).strip("_")
152 while fdata.key in self.data:
157 fdata.key += chr(char)
159 if fdata.key and fdata.key not in self.data:
160 self.data[fdata.key] = {
162 "file": [fdata.file_ref],
163 "path": fdata.ftype,
164 "line_no": fdata.ln,
167 fdata.what = self.data[fdata.key]["what"]
169 self.what_refs[content] = fdata.key
170 fdata.tag = new_tag
171 fdata.what_ln = fdata.ln
173 if fdata.nametag["what"]:
174 t = (content, fdata.key)
175 if t not in fdata.nametag["symbols"]:
176 fdata.nametag["symbols"].append(t)
180 if fdata.tag and new_tag:
181 fdata.tag = new_tag
184 fdata.label = ""
186 if "description" in self.data[fdata.key]:
187 self.data[fdata.key]["description"] += "\n\n"
189 if fdata.file_ref not in self.data[fdata.key]["file"]:
190 self.data[fdata.key]["file"].append(fdata.file_ref)
193 self.log.debug("what: %s", fdata.what)
195 if not fdata.what:
196 self.warn(fdata, "'What:' should come first:", line)
200 fdata.space = None
211 fdata.space = match.group(1)
214 self.data[fdata.key][fdata.tag] = content
219 if not fdata.tag and "what" in fdata.nametag:
220 fdata.nametag["description"] += line
223 if fdata.tag == "description":
227 self.data[fdata.key][fdata.tag] += "\n"
230 if fdata.space is None:
234 fdata.space = match.group(1)
238 if content.startswith(fdata.space):
239 content = content[len(fdata.space):]
242 fdata.space = ""
244 if fdata.tag == "what":
247 self.data[fdata.key][fdata.tag].append(w)
249 self.data[fdata.key][fdata.tag] += content
253 if fdata.tag:
254 if fdata.tag == "what":
257 self.data[fdata.key][fdata.tag].append(w)
259 self.data[fdata.key][fdata.tag] += "\n" + content.rstrip("\n")
264 self.warn(fdata, "Unexpected content", line)
292 fdata = Namespace
294 fdata.fname = fname
295 fdata.name = basename
303 fdata.file_ref = (f, ref)
306 fdata.ln = 0
307 fdata.what_ln = 0
308 fdata.tag = ""
309 fdata.label = ""
310 fdata.what = []
311 fdata.key = None
312 fdata.xrefs = None
313 fdata.space = None
314 fdata.ftype = path.split("/")[0]
316 fdata.nametag = {}
317 fdata.nametag["what"] = [f"ABI file {path}/{basename}"]
318 fdata.nametag["type"] = "File"
319 fdata.nametag["path"] = fdata.ftype
320 fdata.nametag["file"] = [fdata.file_ref]
321 fdata.nametag["line_no"] = 1
322 fdata.nametag["description"] = ""
323 fdata.nametag["symbols"] = []
325 self.data[ref] = fdata.nametag
331 self.parse_readme(fdata.nametag, fname)
336 fdata.ln += 1
338 self._parse_line(fdata, line)
340 if "description" in fdata.nametag:
341 fdata.nametag["description"] = fdata.nametag["description"].lstrip("\n")
343 if fdata.key:
344 if "description" not in self.data.get(fdata.key, {}):
345 self.warn(fdata, f"{fdata.key} doesn't have a description")
347 for w in fdata.what:
348 self.add_symbol(what=w, fname=fname, xref=fdata.key)