~CommandObjectFrameSelect() override = default;
+ void
+ HandleArgumentCompletion(CompletionRequest &request,
+ OptionElementVector &opt_element_vector) override {
+ if (!m_exe_ctx.HasProcessScope() || request.GetCursorIndex() != 0)
+ return;
+
+ lldb::ThreadSP thread_sp = m_exe_ctx.GetThreadSP();
+ const uint32_t frame_num = thread_sp->GetStackFrameCount();
+ for (uint32_t i = 0; i < frame_num; ++i) {
+ lldb::StackFrameSP frame_sp = thread_sp->GetStackFrameAtIndex(i);
+ StreamString strm;
+ frame_sp->Dump(&strm, false, true);
+ request.TryCompleteCurrentArg(std::to_string(i), strm.GetString());
+ }
+ }
+
Options *GetOptions() override { return &m_options; }
protected:
self.check_completion_with_desc("breakpoint set --Z", [
])
+ def test_frame_select(self):
+ self.build()
+ self.main_source_spec = lldb.SBFileSpec("main.cpp")
+ lldbutil.run_to_source_breakpoint(self, '// Break here', self.main_source_spec)
+
+ self.complete_from_to('frame select ', ['0'])
+
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24489")
def test_symbol_name(self):
self.build()