339 # it's a function |
339 # it's a function |
340 f = Function(module, meth_name, |
340 f = Function(module, meth_name, |
341 file, lineno, meth_sig, modifierType=modifier) |
341 file, lineno, meth_sig, modifierType=modifier) |
342 if meth_name in dict_counts: |
342 if meth_name in dict_counts: |
343 dict_counts[meth_name] += 1 |
343 dict_counts[meth_name] += 1 |
344 meth_name = "{0}_{1:d}".format(meth_name, dict_counts[meth_name]) |
344 meth_name = "{0}_{1:d}".format( |
|
345 meth_name, dict_counts[meth_name]) |
345 else: |
346 else: |
346 dict_counts[meth_name] = 0 |
347 dict_counts[meth_name] = 0 |
347 dict[meth_name] = f |
348 dict[meth_name] = f |
348 if not classstack: |
349 if not classstack: |
349 if lastGlobalEntry: |
350 if lastGlobalEntry: |
405 cur_class = Class(module, class_name, inherit, |
406 cur_class = Class(module, class_name, inherit, |
406 file, lineno) |
407 file, lineno) |
407 if not classstack: |
408 if not classstack: |
408 if class_name in dict_counts: |
409 if class_name in dict_counts: |
409 dict_counts[class_name] += 1 |
410 dict_counts[class_name] += 1 |
410 class_name = "{0}_{1:d}".format(class_name, dict_counts[class_name]) |
411 class_name = "{0}_{1:d}".format( |
|
412 class_name, dict_counts[class_name]) |
411 else: |
413 else: |
412 dict_counts[class_name] = 0 |
414 dict_counts[class_name] = 0 |
413 dict[class_name] = cur_class |
415 dict[class_name] = cur_class |
414 else: |
416 else: |
415 classstack[-1][0]._addclass(class_name, cur_class) |
417 classstack[-1][0]._addclass(class_name, cur_class) |
424 last_lineno_pos = start |
426 last_lineno_pos = start |
425 index = -1 |
427 index = -1 |
426 while index >= -len(classstack): |
428 while index >= -len(classstack): |
427 if classstack[index][0] is not None and \ |
429 if classstack[index][0] is not None and \ |
428 not isinstance(classstack[index][0], Function): |
430 not isinstance(classstack[index][0], Function): |
429 attr = Attribute(module, m.group("AttributeName"), file, lineno) |
431 attr = Attribute( |
|
432 module, m.group("AttributeName"), file, lineno) |
430 classstack[index][0]._addattribute(attr) |
433 classstack[index][0]._addattribute(attr) |
431 break |
434 break |
432 else: |
435 else: |
433 index -= 1 |
436 index -= 1 |
434 |
437 |
438 lineno = lineno + src.count('\n', last_lineno_pos, start) |
441 lineno = lineno + src.count('\n', last_lineno_pos, start) |
439 last_lineno_pos = start |
442 last_lineno_pos = start |
440 if thisindent == 0: |
443 if thisindent == 0: |
441 # global variable |
444 # global variable |
442 if "@@Globals@@" not in dict: |
445 if "@@Globals@@" not in dict: |
443 dict["@@Globals@@"] = \ |
446 dict["@@Globals@@"] = ClbrBaseClasses.ClbrBase( |
444 ClbrBaseClasses.ClbrBase(module, "Globals", file, lineno) |
447 module, "Globals", file, lineno) |
445 dict["@@Globals@@"]._addglobal( |
448 dict["@@Globals@@"]._addglobal( |
446 Attribute(module, variable_name, file, lineno)) |
449 Attribute(module, variable_name, file, lineno)) |
447 if lastGlobalEntry: |
450 if lastGlobalEntry: |
448 lastGlobalEntry.setEndLine(lineno - 1) |
451 lastGlobalEntry.setEndLine(lineno - 1) |
449 lastGlobalEntry = None |
452 lastGlobalEntry = None |
480 # a coding statement |
483 # a coding statement |
481 coding = m.group("Coding") |
484 coding = m.group("Coding") |
482 lineno = lineno + src.count('\n', last_lineno_pos, start) |
485 lineno = lineno + src.count('\n', last_lineno_pos, start) |
483 last_lineno_pos = start |
486 last_lineno_pos = start |
484 if "@@Coding@@" not in dict: |
487 if "@@Coding@@" not in dict: |
485 dict["@@Coding@@"] = ClbrBaseClasses.Coding(module, file, lineno, coding) |
488 dict["@@Coding@@"] = ClbrBaseClasses.Coding( |
|
489 module, file, lineno, coding) |
486 |
490 |
487 else: |
491 else: |
488 assert 0, "regexp _getnext found something unexpected" |
492 assert 0, "regexp _getnext found something unexpected" |
489 |
493 |
490 if '__all__' in dict: |
494 if '__all__' in dict: |