summaryrefslogtreecommitdiff
path: root/Build/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionheader.py
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionheader.py')
-rw-r--r--Build/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionheader.py96
1 files changed, 0 insertions, 96 deletions
diff --git a/Build/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionheader.py b/Build/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionheader.py
deleted file mode 100644
index 7020b281c99..00000000000
--- a/Build/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionheader.py
+++ /dev/null
@@ -1,96 +0,0 @@
-from zzipdoc.match import Match
-
-class FunctionHeader:
- """ parsing the comment block that is usually presented before
- a function prototype - the prototype part is passed along
- for further parsing through => FunctionPrototype """
- def __init__(self, functionheaderlist, comment, prototype):
- self.parent = functionheaderlist
- self.comment = comment
- self.prototype = prototype
- self.firstline = None
- self.otherlines = None
- self.titleline = None
- self.alsolist = []
- def get_filename(self):
- return self.parent.get_filename()
- def parse_firstline(self):
- if not self.comment: return False
- x = self.comment.find("\n")
- if x > 0:
- self.firstline = self.comment[:x]
- self.otherlines = self.comment[x:]
- elif x == 0:
- self.firstline = "..."
- self.otherlines = self.comment[1:x]
- else:
- self.firstline = self.comment
- self.otherlines = ""
- return True
- def get_firstline(self):
- if self.firstline is None:
- if not self.parse_firstline(): return ""
- return self.firstline
- def get_otherlines(self):
- if self.firstline is None:
- if not self.parse_firstline(): return ""
- return self.otherlines
- def parse_titleline(self):
- """ split extra-notes from the firstline - keep only titleline """
- line = self.get_firstline()
- if line is None: return False
- self.titleline = line
- self.alsolist = []
- x = line.find("also:")
- if x > 0:
- self.titleline = line[:x]
- for also in line[x+5:].split(","):
- self.alsolist += [ also.strip() ]
- self._alsolist = self.alsolist
- return True
- def get_alsolist(self):
- """ gets the see-also notes from the firstline """
- if self.titleline is None:
- if not self.parse_titleline(): return None
- return self.alsolist
- def get_titleline(self):
- """ gets firstline with see-also notes removed """
- if self.titleline is None:
- if not self.parse_titleline(): return False
- return self.titleline
- def get_title(self):
- """ gets titleline unless that is a redirect """
- titleline = self.get_titleline()
- if titleline & Match(r"^\s*=>"): return ""
- if titleline & Match(r"^\s*<link>"): return ""
- return titleline
- def get_prototype(self):
- return self.prototype
-
-class FunctionHeaderList:
- """ scan for comment blocks in the source file that are followed by
- something quite like a C definition (probably a function definition).
- Unpack the occurrences and fill self.comment and self.prototype. """
- def __init__(self, textfile = None):
- self.textfile = textfile # TextFile
- self.children = None # src'style
- def parse(self, textfile = None):
- if textfile is not None:
- self.textfile = textfile
- if self.textfile is None:
- return False
- text = self.textfile.get_src_text()
- m = Match(r"(?s)\/\*[*]+(?=\s)"
- r"((?:.(?!\*\/))*.)\*\/"
- r"([^/\{\}\;\#]+)[\{\;]")
- self.children = []
- for found in m.finditer(text):
- child = FunctionHeader(self, found.group(1), found.group(2))
- self.children += [ child ]
- return len(self.children) > 0
- def get_filename(self):
- return self.textfile.get_filename()
- def get_children(self):
- if self.children is None:
- if not self.parse(): return []
- return self.children