Lines Matching refs:self
65 def __init__(self): argument
68 self.out_mode = self.OUTPUT_ALL
69 self.enable_lineno = None
70 self.nosymbol = {}
71 self.symbol = None
72 self.function_table = None
73 self.config = None
74 self.no_doc_sections = False
76 self.data = ""
78 def set_config(self, config): argument
83 self.config = config
85 def set_filter(self, export, internal, symbol, nosymbol, function_table, argument
95 self.enable_lineno = enable_lineno
96 self.no_doc_sections = no_doc_sections
97 self.function_table = function_table
100 self.out_mode = self.OUTPUT_INCLUDE
102 self.out_mode = self.OUTPUT_EXPORTED
104 self.out_mode = self.OUTPUT_INTERNAL
106 self.out_mode = self.OUTPUT_ALL
109 self.nosymbol = set(nosymbol)
112 def highlight_block(self, block): argument
117 for r, sub in self.highlights:
122 def out_warnings(self, args): argument
128 self.config.warning(log_msg)
130 def check_doc(self, name, args): argument
133 if self.no_doc_sections:
136 if name in self.nosymbol:
139 if self.out_mode == self.OUTPUT_ALL:
140 self.out_warnings(args)
143 if self.out_mode == self.OUTPUT_INCLUDE:
144 if name in self.function_table:
145 self.out_warnings(args)
150 def check_declaration(self, dtype, name, args): argument
156 if name in self.nosymbol:
159 if self.out_mode == self.OUTPUT_ALL:
160 self.out_warnings(args)
163 if self.out_mode in [self.OUTPUT_INCLUDE, self.OUTPUT_EXPORTED]:
164 if name in self.function_table:
167 if self.out_mode == self.OUTPUT_INTERNAL:
169 self.out_warnings(args)
172 if name not in self.function_table:
173 self.out_warnings(args)
178 def msg(self, fname, name, args): argument
183 self.data = ""
188 self.out_doc(fname, name, args)
189 return self.data
191 if not self.check_declaration(dtype, name, args):
192 return self.data
195 self.out_function(fname, name, args)
196 return self.data
199 self.out_enum(fname, name, args)
200 return self.data
203 self.out_typedef(fname, name, args)
204 return self.data
207 self.out_struct(fname, name, args)
208 return self.data
211 self.config.log.warning("doesn't know how to output '%s' block",
218 def set_symbols(self, symbols): argument
221 def out_doc(self, fname, name, args): argument
224 def out_function(self, fname, name, args): argument
227 def out_enum(self, fname, name, args): argument
230 def out_typedef(self, fname, name, args): argument
233 def out_struct(self, fname, name, args): argument
264 def __init__(self): argument
273 self.lineprefix = ""
275 def print_lineno(self, ln): argument
278 if self.enable_lineno and ln is not None:
280 self.data += f".. LINENO {ln}\n"
282 def output_highlight(self, args): argument
320 if self.sphinx_literal.match(line) or self.sphinx_cblock.match(line):
323 output += self.highlight_block(block)
328 output += self.highlight_block(block)
332 self.data += self.lineprefix + line + "\n"
334 def out_section(self, args, out_docblock=False): argument
344 if section in self.nosymbol:
348 if not self.out_mode == self.OUTPUT_INCLUDE:
349 self.data += f".. _{section}:\n\n"
350 self.data += f'{self.lineprefix}**{section}**\n\n'
352 self.data += f'{self.lineprefix}**{section}**\n\n'
354 self.print_lineno(args.section_start_lines.get(section, 0))
355 self.output_highlight(text)
356 self.data += "\n"
357 self.data += "\n"
359 def out_doc(self, fname, name, args): argument
360 if not self.check_doc(name, args):
362 self.out_section(args, out_docblock=True)
364 def out_function(self, fname, name, args): argument
366 oldprefix = self.lineprefix
393 self.print_lineno(ln)
395 self.data += f".. c:macro:: {name}\n\n"
398 self.data += " **Typedef**: "
399 self.lineprefix = ""
400 self.output_highlight(args.get('purpose', ""))
401 self.data += "\n\n**Syntax**\n\n"
402 self.data += f" ``{signature}``\n\n"
404 self.data += f"``{signature}``\n\n"
406 self.data += f".. c:function:: {signature}\n\n"
409 self.print_lineno(ln)
410 self.lineprefix = " "
411 self.output_highlight(args.get('purpose', ""))
412 self.data += "\n"
416 self.lineprefix = " "
419 self.data += ".. container:: kernelindent\n\n"
420 self.data += f"{self.lineprefix}**Parameters**\n\n"
427 self.data += f"{self.lineprefix}``{dtype}``\n"
429 self.data += f"{self.lineprefix}``{parameter}``\n"
431 self.print_lineno(args.parameterdesc_start_lines.get(parameter_name, 0))
433 self.lineprefix = " "
437 self.output_highlight(args.parameterdescs[parameter_name])
438 self.data += "\n"
440 self.data += f"{self.lineprefix}*undescribed*\n\n"
441 self.lineprefix = " "
443 self.out_section(args)
444 self.lineprefix = oldprefix
446 def out_enum(self, fname, name, args): argument
448 oldprefix = self.lineprefix
451 self.data += f"\n\n.. c:enum:: {name}\n\n"
453 self.print_lineno(ln)
454 self.lineprefix = " "
455 self.output_highlight(args.get('purpose', ''))
456 self.data += "\n"
458 self.data += ".. container:: kernelindent\n\n"
459 outer = self.lineprefix + " "
460 self.lineprefix = outer + " "
461 self.data += f"{outer}**Constants**\n\n"
464 self.data += f"{outer}``{parameter}``\n"
467 self.output_highlight(args.parameterdescs[parameter])
469 self.data += f"{self.lineprefix}*undescribed*\n\n"
470 self.data += "\n"
472 self.lineprefix = oldprefix
473 self.out_section(args)
475 def out_typedef(self, fname, name, args): argument
477 oldprefix = self.lineprefix
480 self.data += f"\n\n.. c:type:: {name}\n\n"
482 self.print_lineno(ln)
483 self.lineprefix = " "
485 self.output_highlight(args.get('purpose', ''))
487 self.data += "\n"
489 self.lineprefix = oldprefix
490 self.out_section(args)
492 def out_struct(self, fname, name, args): argument
499 self.data += f"\n\n.. c:{dtype}:: {name}\n\n"
501 self.print_lineno(ln)
503 oldprefix = self.lineprefix
504 self.lineprefix += " "
506 self.output_highlight(purpose)
507 self.data += "\n"
509 self.data += ".. container:: kernelindent\n\n"
510 self.data += f"{self.lineprefix}**Definition**::\n\n"
512 self.lineprefix = self.lineprefix + " "
514 declaration = declaration.replace("\t", self.lineprefix)
516 self.data += f"{self.lineprefix}{dtype} {name}" + ' {' + "\n"
517 self.data += f"{declaration}{self.lineprefix}" + "};\n\n"
519 self.lineprefix = " "
520 self.data += f"{self.lineprefix}**Members**\n\n"
530 self.print_lineno(args.parameterdesc_start_lines.get(parameter_name, 0))
532 self.data += f"{self.lineprefix}``{parameter}``\n"
534 self.lineprefix = " "
535 self.output_highlight(args.parameterdescs[parameter_name])
536 self.lineprefix = " "
538 self.data += "\n"
540 self.data += "\n"
542 self.lineprefix = oldprefix
543 self.out_section(args)
573 def __init__(self, modulename): argument
582 self.modulename = modulename
583 self.symbols = []
588 for fmt in self.date_formats:
598 self.man_date = dt.strftime("%B %Y")
600 def arg_name(self, args, name): argument
613 return self.modulename
620 def set_symbols(self, symbols): argument
627 self.symbols = symbols
629 def out_tail(self, fname, name, args): argument
633 self.data += f'.SH "SEE ALSO"' + "\n.PP\n"
634 self.data += (f"Kernel file \\fB{args.fname}\\fR\n")
635 if len(self.symbols) >= 2:
636 cur_name = self.arg_name(args, name)
639 for arg in self.symbols:
640 out_name = self.arg_name(arg, arg.name)
647 self.data += ",\n".join(related) + "\n"
652 def msg(self, fname, name, args): argument
659 self.out_tail(fname, name, args)
661 return self.data
663 def output_highlight(self, block): argument
669 contents = self.highlight_block(block)
680 self.data += "\\&" + line + "\n"
682 self.data += line + "\n"
684 def out_doc(self, fname, name, args): argument
685 if not self.check_doc(name, args):
688 out_name = self.arg_name(args, name)
690 … self.data += f'.TH "{self.modulename}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
693 self.data += f'.SH "{section}"' + "\n"
694 self.output_highlight(text)
696 def out_function(self, fname, name, args): argument
699 out_name = self.arg_name(args, name)
701 …self.data += f'.TH "{name}" 9 "{out_name}" "{self.man_date}" "Kernel Hacker\'s Manual" LINUX' + "\…
703 self.data += ".SH NAME\n"
704 self.data += f"{name} \\- {args['purpose']}\n"
706 self.data += ".SH SYNOPSIS\n"
708 self.data += f'.B "{args["functiontype"]}" {name}' + "\n"
710 self.data += f'.B "{name}' + "\n"
723 …self.data += f'".BI "{parenth}{function_pointer.group(1)}" " ") ({function_pointer.group(2)}){post…
727 self.data += f'.BI "{parenth}{dtype}" "{post}"' + "\n"
732 self.data += ".SH ARGUMENTS\n"
737 self.data += f'.IP "{parameter}" 12' + "\n"
738 self.output_highlight(args.parameterdescs.get(parameter_name, ""))
741 self.data += f'.SH "{section.upper()}"' + "\n"
742 self.output_highlight(text)
744 def out_enum(self, fname, name, args): argument
745 out_name = self.arg_name(args, name)
747 … self.data += f'.TH "{self.modulename}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
749 self.data += ".SH NAME\n"
750 self.data += f"enum {name} \\- {args['purpose']}\n"
752 self.data += ".SH SYNOPSIS\n"
753 self.data += f"enum {name}" + " {\n"
757 self.data += f'.br\n.BI " {parameter}"' + "\n"
759 self.data += "\n};\n"
761 self.data += ", \n.br\n"
765 self.data += ".SH Constants\n"
769 self.data += f'.IP "{parameter}" 12' + "\n"
770 self.output_highlight(args.parameterdescs.get(parameter_name, ""))
773 self.data += f'.SH "{section}"' + "\n"
774 self.output_highlight(text)
776 def out_typedef(self, fname, name, args): argument
777 module = self.modulename
779 out_name = self.arg_name(args, name)
781 self.data += f'.TH "{module}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
783 self.data += ".SH NAME\n"
784 self.data += f"typedef {name} \\- {purpose}\n"
787 self.data += f'.SH "{section}"' + "\n"
788 self.output_highlight(text)
790 def out_struct(self, fname, name, args): argument
791 module = self.modulename
794 out_name = self.arg_name(args, name)
796 self.data += f'.TH "{module}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
798 self.data += ".SH NAME\n"
799 self.data += f"{args.type} {name} \\- {purpose}\n"
805 self.data += ".SH SYNOPSIS\n"
806 self.data += f"{args.type} {name} " + "{" + "\n.br\n"
807 self.data += f'.BI "{declaration}\n' + "};\n.br\n\n"
809 self.data += ".SH Members\n"
819 self.data += f'.IP "{parameter}" 12' + "\n"
820 self.output_highlight(args.parameterdescs.get(parameter_name))
823 self.data += f'.SH "{section}"' + "\n"
824 self.output_highlight(text)