Lines Matching refs:self
70 def __init__(self): argument
73 self.out_mode = self.OUTPUT_ALL
74 self.enable_lineno = None
75 self.nosymbol = {}
76 self.symbol = None
77 self.function_table = None
78 self.config = None
79 self.no_doc_sections = False
81 self.data = ""
83 def set_config(self, config): argument
88 self.config = config
90 def set_filter(self, export, internal, symbol, nosymbol, function_table, argument
100 self.enable_lineno = enable_lineno
101 self.no_doc_sections = no_doc_sections
102 self.function_table = function_table
105 self.out_mode = self.OUTPUT_INCLUDE
107 self.out_mode = self.OUTPUT_EXPORTED
109 self.out_mode = self.OUTPUT_INTERNAL
111 self.out_mode = self.OUTPUT_ALL
114 self.nosymbol = set(nosymbol)
117 def highlight_block(self, block): argument
122 for r, sub in self.highlights:
127 def out_warnings(self, args): argument
133 self.config.warning(log_msg)
135 def check_doc(self, name, args): argument
138 if self.no_doc_sections:
141 if name in self.nosymbol:
144 if self.out_mode == self.OUTPUT_ALL:
145 self.out_warnings(args)
148 if self.out_mode == self.OUTPUT_INCLUDE:
149 if name in self.function_table:
150 self.out_warnings(args)
155 def check_declaration(self, dtype, name, args): argument
161 if name in self.nosymbol:
164 if self.out_mode == self.OUTPUT_ALL:
165 self.out_warnings(args)
168 if self.out_mode in [self.OUTPUT_INCLUDE, self.OUTPUT_EXPORTED]:
169 if name in self.function_table:
172 if self.out_mode == self.OUTPUT_INTERNAL:
174 self.out_warnings(args)
177 if name not in self.function_table:
178 self.out_warnings(args)
183 def msg(self, fname, name, args): argument
188 self.data = ""
193 self.out_doc(fname, name, args)
194 return self.data
196 if not self.check_declaration(dtype, name, args):
197 return self.data
200 self.out_function(fname, name, args)
201 return self.data
204 self.out_enum(fname, name, args)
205 return self.data
208 self.out_var(fname, name, args)
209 return self.data
212 self.out_typedef(fname, name, args)
213 return self.data
216 self.out_struct(fname, name, args)
217 return self.data
220 self.config.log.warning("doesn't know how to output '%s' block",
227 def set_symbols(self, symbols): argument
230 def out_doc(self, fname, name, args): argument
233 def out_function(self, fname, name, args): argument
236 def out_enum(self, fname, name, args): argument
239 def out_var(self, fname, name, args): argument
242 def out_typedef(self, fname, name, args): argument
245 def out_struct(self, fname, name, args): argument
281 def __init__(self): argument
290 self.lineprefix = ""
292 def print_lineno(self, ln): argument
295 if self.enable_lineno and ln is not None:
297 self.data += f".. LINENO {ln}\n"
299 def output_highlight(self, args): argument
337 if self.sphinx_literal.match(line) or self.sphinx_cblock.match(line):
340 output += self.highlight_block(block)
345 output += self.highlight_block(block)
349 self.data += self.lineprefix + line + "\n"
351 def out_section(self, args, out_docblock=False): argument
361 if section in self.nosymbol:
365 if not self.out_mode == self.OUTPUT_INCLUDE:
366 self.data += f".. _{section}:\n\n"
367 self.data += f'{self.lineprefix}**{section}**\n\n'
369 self.data += f'{self.lineprefix}**{section}**\n\n'
371 self.print_lineno(args.section_start_lines.get(section, 0))
372 self.output_highlight(text)
373 self.data += "\n"
374 self.data += "\n"
376 def out_doc(self, fname, name, args): argument
377 if not self.check_doc(name, args):
379 self.out_section(args, out_docblock=True)
381 def out_function(self, fname, name, args): argument
383 oldprefix = self.lineprefix
410 self.print_lineno(ln)
412 self.data += f".. c:macro:: {name}\n\n"
415 self.data += " **Typedef**: "
416 self.lineprefix = ""
417 self.output_highlight(args.get('purpose', ""))
418 self.data += "\n\n**Syntax**\n\n"
419 self.data += f" ``{signature}``\n\n"
421 self.data += f"``{signature}``\n\n"
423 self.data += f".. c:function:: {signature}\n\n"
426 self.print_lineno(ln)
427 self.lineprefix = " "
428 self.output_highlight(args.get('purpose', ""))
429 self.data += "\n"
433 self.lineprefix = " "
436 self.data += ".. container:: kernelindent\n\n"
437 self.data += f"{self.lineprefix}**Parameters**\n\n"
444 self.data += f"{self.lineprefix}``{dtype}``\n"
446 self.data += f"{self.lineprefix}``{parameter}``\n"
448 self.print_lineno(args.parameterdesc_start_lines.get(parameter_name, 0))
450 self.lineprefix = " "
454 self.output_highlight(args.parameterdescs[parameter_name])
455 self.data += "\n"
457 self.data += f"{self.lineprefix}*undescribed*\n\n"
458 self.lineprefix = " "
460 self.out_section(args)
461 self.lineprefix = oldprefix
463 def out_enum(self, fname, name, args): argument
465 oldprefix = self.lineprefix
468 self.data += f"\n\n.. c:enum:: {name}\n\n"
470 self.print_lineno(ln)
471 self.lineprefix = " "
472 self.output_highlight(args.get('purpose', ''))
473 self.data += "\n"
475 self.data += ".. container:: kernelindent\n\n"
476 outer = self.lineprefix + " "
477 self.lineprefix = outer + " "
478 self.data += f"{outer}**Constants**\n\n"
481 self.data += f"{outer}``{parameter}``\n"
484 self.output_highlight(args.parameterdescs[parameter])
486 self.data += f"{self.lineprefix}*undescribed*\n\n"
487 self.data += "\n"
489 self.lineprefix = oldprefix
490 self.out_section(args)
492 def out_var(self, fname, name, args): argument
493 oldprefix = self.lineprefix
497 self.lineprefix = " "
499 self.data += f"\n\n.. c:macro:: {name}\n\n{self.lineprefix}``{full_proto}``\n\n"
501 self.print_lineno(ln)
502 self.output_highlight(args.get('purpose', ''))
503 self.data += "\n"
506 self.data += f'{self.lineprefix}**Initialization**\n\n'
507 self.output_highlight(f'default: ``{args.other_stuff["default_val"]}``')
509 self.out_section(args)
511 def out_typedef(self, fname, name, args): argument
513 oldprefix = self.lineprefix
516 self.data += f"\n\n.. c:type:: {name}\n\n"
518 self.print_lineno(ln)
519 self.lineprefix = " "
521 self.output_highlight(args.get('purpose', ''))
523 self.data += "\n"
525 self.lineprefix = oldprefix
526 self.out_section(args)
528 def out_struct(self, fname, name, args): argument
535 self.data += f"\n\n.. c:{dtype}:: {name}\n\n"
537 self.print_lineno(ln)
539 oldprefix = self.lineprefix
540 self.lineprefix += " "
542 self.output_highlight(purpose)
543 self.data += "\n"
545 self.data += ".. container:: kernelindent\n\n"
546 self.data += f"{self.lineprefix}**Definition**::\n\n"
548 self.lineprefix = self.lineprefix + " "
550 declaration = declaration.replace("\t", self.lineprefix)
552 self.data += f"{self.lineprefix}{dtype} {name}" + ' {' + "\n"
553 self.data += f"{declaration}{self.lineprefix}" + "};\n\n"
555 self.lineprefix = " "
556 self.data += f"{self.lineprefix}**Members**\n\n"
566 self.print_lineno(args.parameterdesc_start_lines.get(parameter_name, 0))
568 self.data += f"{self.lineprefix}``{parameter}``\n"
570 self.lineprefix = " "
571 self.output_highlight(args.parameterdescs[parameter_name])
572 self.lineprefix = " "
574 self.data += "\n"
576 self.data += "\n"
578 self.lineprefix = oldprefix
579 self.out_section(args)
610 def __init__(self, modulename): argument
619 self.modulename = modulename
620 self.symbols = []
625 for fmt in self.date_formats:
635 self.man_date = dt.strftime("%B %Y")
637 def arg_name(self, args, name): argument
650 return self.modulename
657 def set_symbols(self, symbols): argument
664 self.symbols = symbols
666 def out_tail(self, fname, name, args): argument
670 self.data += f'.SH "SEE ALSO"' + "\n.PP\n"
671 self.data += (f"Kernel file \\fB{args.fname}\\fR\n")
672 if len(self.symbols) >= 2:
673 cur_name = self.arg_name(args, name)
676 for arg in self.symbols:
677 out_name = self.arg_name(arg, arg.name)
684 self.data += ",\n".join(related) + "\n"
689 def msg(self, fname, name, args): argument
696 self.out_tail(fname, name, args)
698 return self.data
700 def output_highlight(self, block): argument
706 contents = self.highlight_block(block)
717 self.data += "\\&" + line + "\n"
719 self.data += line + "\n"
721 def out_doc(self, fname, name, args): argument
722 if not self.check_doc(name, args):
725 out_name = self.arg_name(args, name)
727 … self.data += f'.TH "{self.modulename}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
730 self.data += f'.SH "{section}"' + "\n"
731 self.output_highlight(text)
733 def out_function(self, fname, name, args): argument
735 out_name = self.arg_name(args, name)
737 …self.data += f'.TH "{name}" 9 "{out_name}" "{self.man_date}" "Kernel Hacker\'s Manual" LINUX' + "\…
739 self.data += ".SH NAME\n"
740 self.data += f"{name} \\- {args['purpose']}\n"
742 self.data += ".SH SYNOPSIS\n"
744 self.data += f'.B "{args["functiontype"]}" {name}' + "\n"
746 self.data += f'.B "{name}' + "\n"
759 …self.data += f'".BI "{parenth}{function_pointer.group(1)}" " ") ({function_pointer.group(2)}){post…
763 self.data += f'.BI "{parenth}{dtype}" "{post}"' + "\n"
768 self.data += ".SH ARGUMENTS\n"
773 self.data += f'.IP "{parameter}" 12' + "\n"
774 self.output_highlight(args.parameterdescs.get(parameter_name, ""))
777 self.data += f'.SH "{section.upper()}"' + "\n"
778 self.output_highlight(text)
780 def out_enum(self, fname, name, args): argument
781 out_name = self.arg_name(args, name)
783 … self.data += f'.TH "{self.modulename}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
785 self.data += ".SH NAME\n"
786 self.data += f"enum {name} \\- {args['purpose']}\n"
788 self.data += ".SH SYNOPSIS\n"
789 self.data += f"enum {name}" + " {\n"
793 self.data += f'.br\n.BI " {parameter}"' + "\n"
795 self.data += "\n};\n"
797 self.data += ", \n.br\n"
801 self.data += ".SH Constants\n"
805 self.data += f'.IP "{parameter}" 12' + "\n"
806 self.output_highlight(args.parameterdescs.get(parameter_name, ""))
809 self.data += f'.SH "{section}"' + "\n"
810 self.output_highlight(text)
812 def out_var(self, fname, name, args): argument
813 out_name = self.arg_name(args, name)
816 … self.data += f'.TH "{self.modulename}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
818 self.data += ".SH NAME\n"
819 self.data += f"{name} \\- {args['purpose']}\n"
821 self.data += ".SH SYNOPSIS\n"
822 self.data += f"{full_proto}\n"
825 self.data += f'.SH "Initialization"' + "\n"
826 self.output_highlight(f'default: {args.other_stuff["default_val"]}')
829 self.data += f'.SH "{section}"' + "\n"
830 self.output_highlight(text)
832 def out_typedef(self, fname, name, args): argument
833 module = self.modulename
835 out_name = self.arg_name(args, name)
837 self.data += f'.TH "{module}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
839 self.data += ".SH NAME\n"
840 self.data += f"typedef {name} \\- {purpose}\n"
843 self.data += f'.SH "{section}"' + "\n"
844 self.output_highlight(text)
846 def out_struct(self, fname, name, args): argument
847 module = self.modulename
850 out_name = self.arg_name(args, name)
852 self.data += f'.TH "{module}" 9 "{out_name}" "{self.man_date}" "API Manual" LINUX' + "\n"
854 self.data += ".SH NAME\n"
855 self.data += f"{args.type} {name} \\- {purpose}\n"
861 self.data += ".SH SYNOPSIS\n"
862 self.data += f"{args.type} {name} " + "{" + "\n.br\n"
863 self.data += f'.BI "{declaration}\n' + "};\n.br\n\n"
865 self.data += ".SH Members\n"
875 self.data += f'.IP "{parameter}" 12' + "\n"
876 self.output_highlight(args.parameterdescs.get(parameter_name))
879 self.data += f'.SH "{section}"' + "\n"
880 self.output_highlight(text)