(FuncDeclarator, FuncNameLine=0, FuncNameOffset=0)
| 272 | return StrippedStr |
| 273 | |
| 274 | def GetParamList(FuncDeclarator, FuncNameLine=0, FuncNameOffset=0): |
| 275 | FuncDeclarator = StripComments(FuncDeclarator) |
| 276 | ParamIdList = [] |
| 277 | #DeclSplitList = FuncDeclarator.split('(') |
| 278 | LBPos = FuncDeclarator.find('(') |
| 279 | #if len(DeclSplitList) < 2: |
| 280 | if LBPos == -1: |
| 281 | return ParamIdList |
| 282 | #FuncName = DeclSplitList[0] |
| 283 | FuncName = FuncDeclarator[0:LBPos] |
| 284 | #ParamStr = DeclSplitList[1].rstrip(')') |
| 285 | ParamStr = FuncDeclarator[LBPos + 1:].rstrip(')') |
| 286 | LineSkipped = 0 |
| 287 | OffsetSkipped = 0 |
| 288 | TailChar = FuncName[-1] |
| 289 | while not TailChar.isalpha() and TailChar != '_': |
| 290 | |
| 291 | if TailChar == '\n': |
| 292 | FuncName = FuncName.rstrip('\r\n').rstrip('\n') |
| 293 | LineSkipped += 1 |
| 294 | OffsetSkipped = 0 |
| 295 | elif TailChar == '\r': |
| 296 | FuncName = FuncName.rstrip('\r') |
| 297 | LineSkipped += 1 |
| 298 | OffsetSkipped = 0 |
| 299 | elif TailChar == ' ': |
| 300 | FuncName = FuncName.rstrip(' ') |
| 301 | OffsetSkipped += 1 |
| 302 | elif TailChar == '\t': |
| 303 | FuncName = FuncName.rstrip('\t') |
| 304 | OffsetSkipped += 8 |
| 305 | else: |
| 306 | FuncName = FuncName[:-1] |
| 307 | TailChar = FuncName[-1] |
| 308 | |
| 309 | OffsetSkipped += 1 #skip '(' |
| 310 | |
| 311 | for p in ParamStr.split(','): |
| 312 | ListP = p.split() |
| 313 | if len(ListP) == 0: |
| 314 | continue |
| 315 | ParamName = ListP[-1] |
| 316 | DeclText = ParamName.strip() |
| 317 | RightSpacePos = p.rfind(ParamName) |
| 318 | ParamModifier = p[0:RightSpacePos] |
| 319 | if ParamName == 'OPTIONAL': |
| 320 | if ParamModifier == '': |
| 321 | ParamModifier += ' ' + 'OPTIONAL' |
| 322 | DeclText = '' |
| 323 | else: |
| 324 | ParamName = ListP[-2] |
| 325 | DeclText = ParamName.strip() |
| 326 | RightSpacePos = p.rfind(ParamName) |
| 327 | ParamModifier = p[0:RightSpacePos] |
| 328 | ParamModifier += 'OPTIONAL' |
| 329 | while DeclText.startswith('*'): |
| 330 | ParamModifier += ' ' + '*' |
| 331 | DeclText = DeclText.lstrip('*').strip() |
no test coverage detected