@@ -417,15 +417,15 @@ class InteractiveCrashLogException(Exception):
417
417
pass
418
418
419
419
class CrashLogParser :
420
- "CrashLog parser base class and factory."
421
- def __new__ ( cls , debugger , path , verbose ):
420
+ @ staticmethod
421
+ def create ( debugger , path , verbose ):
422
422
data = JSONCrashLogParser .is_valid_json (path )
423
423
if data :
424
- self = object . __new__ ( JSONCrashLogParser )
425
- self .data = data
426
- return self
424
+ parser = JSONCrashLogParser ( debugger , path , verbose )
425
+ parser .data = data
426
+ return parser
427
427
else :
428
- return object . __new__ ( TextCrashLogParser )
428
+ return TextCrashLogParser ( debugger , path , verbose )
429
429
430
430
def __init__ (self , debugger , path , verbose ):
431
431
self .path = os .path .expanduser (path )
@@ -1076,7 +1076,7 @@ def load_crashlog_in_scripted_process(debugger, crash_log_file, options, result)
1076
1076
if not os .path .exists (crashlog_path ):
1077
1077
raise InteractiveCrashLogException ("crashlog file %s does not exist" % crashlog_path )
1078
1078
1079
- crashlog = CrashLogParser (debugger , crashlog_path , False ).parse ()
1079
+ crashlog = CrashLogParser . create (debugger , crashlog_path , False ).parse ()
1080
1080
1081
1081
target = lldb .SBTarget ()
1082
1082
# 1. Try to use the user-provided target
@@ -1332,7 +1332,7 @@ def should_run_in_interactive_mode(options, ci):
1332
1332
except InteractiveCrashLogException as e :
1333
1333
result .SetError (str (e ))
1334
1334
else :
1335
- crash_log = CrashLogParser (debugger , crash_log_file , options .verbose ).parse ()
1335
+ crash_log = CrashLogParser . create (debugger , crash_log_file , options .verbose ).parse ()
1336
1336
SymbolicateCrashLog (crash_log , options )
1337
1337
1338
1338
if __name__ == '__main__' :
@@ -1344,8 +1344,8 @@ def should_run_in_interactive_mode(options, ci):
1344
1344
1345
1345
def __lldb_init_module (debugger , internal_dict ):
1346
1346
debugger .HandleCommand (
1347
- 'command script add -c lldb.macosx.crashlog.Symbolicate crashlog' )
1347
+ 'command script add -o - c lldb.macosx.crashlog.Symbolicate crashlog' )
1348
1348
debugger .HandleCommand (
1349
- 'command script add -f lldb.macosx.crashlog.save_crashlog save_crashlog' )
1349
+ 'command script add -o - f lldb.macosx.crashlog.save_crashlog save_crashlog' )
1350
1350
print ('"crashlog" and "save_crashlog" commands have been installed, use '
1351
1351
'the "--help" options on these commands for detailed help.' )
0 commit comments