MCPcopy Create free account
hub / github.com/numpy/numpy / cleanComments

Function cleanComments

numpy/linalg/lapack_lite/clapack_scrub.py:155–201  ·  view source on GitHub ↗
(source)

Source from the content-addressed store, hash-verified

153
154# This really seems to be about 4x longer than it needs to be
155def cleanComments(source):
156 lines = LineQueue()
157 comments = CommentQueue()
158 def isCommentLine(line):
159 return line.startswith('/*') and line.endswith('*/\n')
160
161 blanks = LineQueue()
162 def isBlank(line):
163 return line.strip() == ''
164
165 def SourceLines(line):
166 if isCommentLine(line):
167 comments.add(line)
168 return HaveCommentLines
169 else:
170 lines.add(line)
171 return SourceLines
172 def HaveCommentLines(line):
173 if isBlank(line):
174 blanks.add('\n')
175 return HaveBlankLines
176 elif isCommentLine(line):
177 comments.add(line)
178 return HaveCommentLines
179 else:
180 comments.flushTo(lines)
181 lines.add(line)
182 return SourceLines
183 def HaveBlankLines(line):
184 if isBlank(line):
185 blanks.add('\n')
186 return HaveBlankLines
187 elif isCommentLine(line):
188 blanks.flushTo(comments)
189 comments.add(line)
190 return HaveCommentLines
191 else:
192 comments.flushTo(lines)
193 blanks.flushTo(lines)
194 lines.add(line)
195 return SourceLines
196
197 state = SourceLines
198 for line in UStringIO(source):
199 state = state(line)
200 comments.flushTo(lines)
201 return lines.getValue()
202
203def removeHeader(source):
204 lines = LineQueue()

Callers

nothing calls this directly

Calls 4

flushToMethod · 0.95
getValueMethod · 0.95
LineQueueClass · 0.85
CommentQueueClass · 0.85

Tested by

no test coverage detected