friss added inline comments.
================ Comment at: lldb/include/lldb/Target/StackFrameRecognizer.h:115 std::function<void(uint32_t recognizer_id, std::string recognizer_name, - std::string module, std::string symbol, - std::string alternate_symbol, bool regexp)> const - &callback); + std::string module, std::vector<ConstString> &symbols, + bool regexp)> const &callback); ---------------- can this be a const vector, or even better an ArrayRef? We certainly don't want the callbacks to modify the list? ================ Comment at: lldb/source/Commands/CommandObjectFrame.cpp:749 case 'n': - m_function = std::string(option_arg); + m_symbols.push_back(std::string(option_arg)); break; ---------------- Does the command actually accept multiple symbols names now? If yes, it should be tested and a warning should be added when you use the regex option and you pass multiple -n options. If it doesn't accept multiple names, it shouldn't store a vector. ================ Comment at: lldb/source/Commands/CommandObjectFrame.cpp:859 + result.AppendErrorWithFormat( + "%s needs at lease one symbol name (-n argument).\n", + m_cmd_name.c_str()); ---------------- *at least ================ Comment at: lldb/source/Target/AssertFrameRecognizer.cpp:145 - if (func_name == location.symbol_name || - (!location.alternate_symbol_name.IsEmpty() && - func_name == location.alternate_symbol_name)) { - + if (location.HasSymbol(func_name)) { // We go a frame beyond the assert location because the most relevant ---------------- This reads a little weird to me. Should we call it MatchesSymbol instead? ================ Comment at: lldb/source/Target/StackFrameRecognizer.cpp:64-72 + m_recognizers.push_front({(uint32_t)m_recognizers.size(), + false, + recognizer, + true, + ConstString(), + module, + {}, ---------------- Is this really the clang-format formatting? ================ Comment at: lldb/source/Target/StackFrameRecognizer.cpp:89-90 + entry.symbols.clear(); + entry.symbols.push_back(ConstString(symbol_name)); + ---------------- It's kinda weird to do this here, and I also think it's wrong as it will leave the recognizer with an entry in its symbols list which changes its semantics. If the callback was taking an ArrayRef, it would be easy (and cheap) to create one for a single element as well as from a vector. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76188/new/ https://reviews.llvm.org/D76188 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits