Lines Matching full: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
130 self.config.warning(log_msg)
132 def check_doc(self, name, args): argument
135 if self.no_doc_sections:
138 if name in self.nosymbol:
141 if self.out_mode == self.OUTPUT_ALL:
142 self.out_warnings(args)
145 if self.out_mode == self.OUTPUT_INCLUDE:
146 if name in self.function_table:
147 self.out_warnings(args)
152 def check_declaration(self, dtype, name, args): argument
158 if name in self.nosymbol:
161 if self.out_mode == self.OUTPUT_ALL:
162 self.out_warnings(args)
165 if self.out_mode in [self.OUTPUT_INCLUDE, self.OUTPUT_EXPORTED]:
166 if name in self.function_table:
169 if self.out_mode == self.OUTPUT_INTERNAL:
171 self.out_warnings(args)
174 if name not in self.function_table:
175 self.out_warnings(args)
180 def msg(self, fname, name, args): argument
185 self.data = ""
190 self.out_doc(fname, name, args)
191 return self.data
193 if not self.check_declaration(dtype, name, args):
194 return self.data
197 self.out_function(fname, name, args)
198 return self.data
201 self.out_enum(fname, name, args)
202 return self.data
205 self.out_typedef(fname, name, args)
206 return self.data
209 self.out_struct(fname, name, args)
210 return self.data
213 self.config.log.warning("doesn't now how to output '%s' block",
220 def out_doc(self, fname, name, args): argument
223 def out_function(self, fname, name, args): argument
226 def out_enum(self, fname, name, args): argument
229 def out_typedef(self, fname, name, args): argument
232 def out_struct(self, fname, name, args): argument
263 def __init__(self): argument
272 self.lineprefix = ""
274 def print_lineno(self, ln): argument
277 if self.enable_lineno and ln is not None:
279 self.data += f".. LINENO {ln}\n"
281 def output_highlight(self, args): argument
284 the self.highlights variable
319 if self.sphinx_literal.match(line) or self.sphinx_cblock.match(line):
322 output += self.highlight_block(block)
327 output += self.highlight_block(block)
331 self.data += self.lineprefix + line + "\n"
333 def out_section(self, args, out_docblock=False): argument
348 if section in self.nosymbol:
352 if not self.out_mode == self.OUTPUT_INCLUDE:
353 self.data += f".. _{section}:\n\n"
354 self.data += f'{self.lineprefix}**{section}**\n\n'
356 self.data += f'{self.lineprefix}**{section}**\n\n'
358 self.print_lineno(section_start_lines.get(section, 0))
359 self.output_highlight(sections[section])
360 self.data += "\n"
361 self.data += "\n"
363 def out_doc(self, fname, name, args): argument
364 if not self.check_doc(name, args):
366 self.out_section(args, out_docblock=True)
368 def out_function(self, fname, name, args): argument
370 oldprefix = self.lineprefix
402 self.print_lineno(ln)
404 self.data += f".. c:macro:: {args['function']}\n\n"
407 self.data += " **Typedef**: "
408 self.lineprefix = ""
409 self.output_highlight(args.get('purpose', ""))
410 self.data += "\n\n**Syntax**\n\n"
411 self.data += f" ``{signature}``\n\n"
413 self.data += f"``{signature}``\n\n"
415 self.data += f".. c:function:: {signature}\n\n"
418 self.print_lineno(ln)
419 self.lineprefix = " "
420 self.output_highlight(args.get('purpose', ""))
421 self.data += "\n"
425 self.lineprefix = " "
428 self.data += ".. container:: kernelindent\n\n"
429 self.data += f"{self.lineprefix}**Parameters**\n\n"
436 self.data += f"{self.lineprefix}``{dtype}``\n"
438 self.data += f"{self.lineprefix}``{parameter}``\n"
440 self.print_lineno(parameterdesc_start_lines.get(parameter_name, 0))
442 self.lineprefix = " "
446 self.output_highlight(parameterdescs[parameter_name])
447 self.data += "\n"
449 self.data += f"{self.lineprefix}*undescribed*\n\n"
450 self.lineprefix = " "
452 self.out_section(args)
453 self.lineprefix = oldprefix
455 def out_enum(self, fname, name, args): argument
457 oldprefix = self.lineprefix
463 self.data += f"\n\n.. c:enum:: {name}\n\n"
465 self.print_lineno(ln)
466 self.lineprefix = " "
467 self.output_highlight(args.get('purpose', ''))
468 self.data += "\n"
470 self.data += ".. container:: kernelindent\n\n"
471 outer = self.lineprefix + " "
472 self.lineprefix = outer + " "
473 self.data += f"{outer}**Constants**\n\n"
476 self.data += f"{outer}``{parameter}``\n"
479 self.output_highlight(parameterdescs[parameter])
481 self.data += f"{self.lineprefix}*undescribed*\n\n"
482 self.data += "\n"
484 self.lineprefix = oldprefix
485 self.out_section(args)
487 def out_typedef(self, fname, name, args): argument
489 oldprefix = self.lineprefix
493 self.data += f"\n\n.. c:type:: {name}\n\n"
495 self.print_lineno(ln)
496 self.lineprefix = " "
498 self.output_highlight(args.get('purpose', ''))
500 self.data += "\n"
502 self.lineprefix = oldprefix
503 self.out_section(args)
505 def out_struct(self, fname, name, args): argument
517 self.data += f"\n\n.. c:{dtype}:: {name}\n\n"
519 self.print_lineno(ln)
521 oldprefix = self.lineprefix
522 self.lineprefix += " "
524 self.output_highlight(purpose)
525 self.data += "\n"
527 self.data += ".. container:: kernelindent\n\n"
528 self.data += f"{self.lineprefix}**Definition**::\n\n"
530 self.lineprefix = self.lineprefix + " "
532 declaration = declaration.replace("\t", self.lineprefix)
534 self.data += f"{self.lineprefix}{dtype} {name}" + ' {' + "\n"
535 self.data += f"{declaration}{self.lineprefix}" + "};\n\n"
537 self.lineprefix = " "
538 self.data += f"{self.lineprefix}**Members**\n\n"
548 self.print_lineno(parameterdesc_start_lines.get(parameter_name, 0))
550 self.data += f"{self.lineprefix}``{parameter}``\n"
552 self.lineprefix = " "
553 self.output_highlight(parameterdescs[parameter_name])
554 self.lineprefix = " "
556 self.data += "\n"
558 self.data += "\n"
560 self.lineprefix = oldprefix
561 self.out_section(args)
591 def __init__(self, modulename): argument
600 self.modulename = modulename
605 for fmt in self.date_formats:
615 self.man_date = dt.strftime("%B %Y")
617 def output_highlight(self, block): argument
620 self.highlights variable using troff syntax
623 contents = self.highlight_block(block)
634 self.data += "\\&" + line + "\n"
636 self.data += line + "\n"
638 def out_doc(self, fname, name, args): argument
642 if not self.check_doc(name, args):
645 …self.data += f'.TH "{self.modulename}" 9 "{self.modulename}" "{self.man_date}" "API Manual" LINUX'…
648 self.data += f'.SH "{section}"' + "\n"
649 self.output_highlight(sections.get(section))
651 def out_function(self, fname, name, args): argument
659 …self.data += f'.TH "{args["function"]}" 9 "{args["function"]}" "{self.man_date}" "Kernel Hacker\'s…
661 self.data += ".SH NAME\n"
662 self.data += f"{args['function']} \\- {args['purpose']}\n"
664 self.data += ".SH SYNOPSIS\n"
666 self.data += f'.B "{args["functiontype"]}" {args["function"]}' + "\n"
668 self.data += f'.B "{args["function"]}' + "\n"
681 …self.data += f'".BI "{parenth}{function_pointer.group(1)}" " ") ({function_pointer.group(2)}){post…
685 self.data += f'.BI "{parenth}{dtype}" "{post}"' + "\n"
690 self.data += ".SH ARGUMENTS\n"
695 self.data += f'.IP "{parameter}" 12' + "\n"
696 self.output_highlight(parameterdescs.get(parameter_name, ""))
699 self.data += f'.SH "{section.upper()}"' + "\n"
700 self.output_highlight(sections[section])
702 def out_enum(self, fname, name, args): argument
709 …self.data += f'.TH "{self.modulename}" 9 "enum {args["enum"]}" "{self.man_date}" "API Manual" LINU…
711 self.data += ".SH NAME\n"
712 self.data += f"enum {args['enum']} \\- {args['purpose']}\n"
714 self.data += ".SH SYNOPSIS\n"
715 self.data += f"enum {args['enum']}" + " {\n"
719 self.data += f'.br\n.BI " {parameter}"' + "\n"
721 self.data += "\n};\n"
723 self.data += ", \n.br\n"
727 self.data += ".SH Constants\n"
731 self.data += f'.IP "{parameter}" 12' + "\n"
732 self.output_highlight(args['parameterdescs'].get(parameter_name, ""))
735 self.data += f'.SH "{section}"' + "\n"
736 self.output_highlight(sections[section])
738 def out_typedef(self, fname, name, args): argument
739 module = self.modulename
745 self.data += f'.TH "{module}" 9 "{typedef}" "{self.man_date}" "API Manual" LINUX' + "\n"
747 self.data += ".SH NAME\n"
748 self.data += f"typedef {typedef} \\- {purpose}\n"
751 self.data += f'.SH "{section}"' + "\n"
752 self.output_highlight(sections.get(section))
754 def out_struct(self, fname, name, args): argument
755 module = self.modulename
765 …self.data += f'.TH "{module}" 9 "{struct_type} {struct_name}" "{self.man_date}" "API Manual" LINUX…
767 self.data += ".SH NAME\n"
768 self.data += f"{struct_type} {struct_name} \\- {purpose}\n"
774 self.data += ".SH SYNOPSIS\n"
775 self.data += f"{struct_type} {struct_name} " + "{" + "\n.br\n"
776 self.data += f'.BI "{declaration}\n' + "};\n.br\n\n"
778 self.data += ".SH Members\n"
788 self.data += f'.IP "{parameter}" 12' + "\n"
789 self.output_highlight(parameterdescs.get(parameter_name))
792 self.data += f'.SH "{section}"' + "\n"
793 self.output_highlight(sections.get(section))