[Lldb-commits] [PATCH] D139951: [lldb/crashlog] Refactor CrashLogParser into a Factory patern
Med Ismail Bennani via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Jan 12 15:26:41 PST 2023
mib updated this revision to Diff 488796.
mib marked 2 inline comments as done.
mib edited the summary of this revision.
mib added a comment.
Address @kastiglione & @JDevlieghere comments:
- rename the factory method to `create`
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139951/new/
https://reviews.llvm.org/D139951
Files:
lldb/examples/python/crashlog.py
lldb/examples/python/scripted_process/crashlog_scripted_process.py
Index: lldb/examples/python/scripted_process/crashlog_scripted_process.py
===================================================================
--- lldb/examples/python/scripted_process/crashlog_scripted_process.py
+++ lldb/examples/python/scripted_process/crashlog_scripted_process.py
@@ -10,7 +10,7 @@
class CrashLogScriptedProcess(ScriptedProcess):
def parse_crashlog(self):
- crashlog_parser = CrashLogParser(self.dbg, self.crashlog_path, False)
+ crashlog_parser = CrashLogParser.create(self.dbg, self.crashlog_path, False)
crash_log = crashlog_parser.parse()
self.pid = crash_log.process_id
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -417,15 +417,15 @@
pass
class CrashLogParser:
- "CrashLog parser base class and factory."
- def __new__(cls, debugger, path, verbose):
+ @staticmethod
+ def create(debugger, path, verbose):
data = JSONCrashLogParser.is_valid_json(path)
if data:
- self = object.__new__(JSONCrashLogParser)
- self.data = data
- return self
+ parser = JSONCrashLogParser(debugger, path, verbose)
+ parser.data = data
+ return parser
else:
- return object.__new__(TextCrashLogParser)
+ return TextCrashLogParser(debugger, path, verbose)
def __init__(self, debugger, path, verbose):
self.path = os.path.expanduser(path)
@@ -1076,7 +1076,7 @@
if not os.path.exists(crashlog_path):
raise InteractiveCrashLogException("crashlog file %s does not exist" % crashlog_path)
- crashlog = CrashLogParser(debugger, crashlog_path, False).parse()
+ crashlog = CrashLogParser.create(debugger, crashlog_path, False).parse()
target = lldb.SBTarget()
# 1. Try to use the user-provided target
@@ -1332,7 +1332,7 @@
except InteractiveCrashLogException as e:
result.SetError(str(e))
else:
- crash_log = CrashLogParser(debugger, crash_log_file, options.verbose).parse()
+ crash_log = CrashLogParser.create(debugger, crash_log_file, options.verbose).parse()
SymbolicateCrashLog(crash_log, options)
if __name__ == '__main__':
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139951.488796.patch
Type: text/x-patch
Size: 2390 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230112/eb95becb/attachment.bin>
More information about the lldb-commits
mailing list