[all-commits] [llvm/llvm-project] bddebc: [intel-pt] Refactor the JSON parsing

walter erquinigo via All-commits all-commits at lists.llvm.org
Thu Sep 24 16:35:51 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: bddebca61ea73d45d5eafc38aaf9fe7605f5a9b3
      https://github.com/llvm/llvm-project/commit/bddebca61ea73d45d5eafc38aaf9fe7605f5a9b3
  Author: Walter Erquinigo <wallace at fb.com>
  Date:   2020-09-24 (Thu, 24 Sep 2020)

  Changed paths:
    M lldb/include/lldb/Target/Trace.h
    M lldb/include/lldb/Target/TraceSettingsParser.h
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.cpp
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.h
    M lldb/source/Target/Trace.cpp
    M lldb/source/Target/TraceSettingsParser.cpp
    M lldb/test/API/commands/trace/TestTraceLoad.py
    A lldb/test/API/commands/trace/intelpt-trace/trace_bad4.json
    A lldb/test/API/commands/trace/intelpt-trace/trace_bad5.json

  Log Message:
  -----------
  [intel-pt] Refactor the JSON parsing

Recently https://reviews.llvm.org/D88103 introduced a nice API for
converting a JSON object into C++ types, which include nice error
messaging.

I'm using that new functioniality to perform the parsing in a much more
elegant way. As a result, the code looks simpler and more maintainable,
as we aren't parsing anymore individual fields manually.

I updated the test cases accordingly.

Differential Revision: https://reviews.llvm.org/D88264




More information about the All-commits mailing list