[lldb] Add -l/--language option to script command

Make it possible to run the script command with a different language
than currently selected.

  $ ./bin/lldb -l python
  (lldb) script -l lua
  >>> io.stdout:write("Hello, World!\n")
  Hello, World!

When passing the language option and a raw command, you need to separate
the flag from the script code with --.

  $ ./bin/lldb -l python
  (lldb) script -l lua -- io.stdout:write("Hello, World!\n")
  Hello, World!

Differential revision: https://reviews.llvm.org/D86996
This commit is contained in:
Jonas Devlieghere
2020-09-15 09:36:28 -07:00
parent a43e68b58b
commit 127faae752
7 changed files with 133 additions and 8 deletions

View File

@@ -0,0 +1,17 @@
# REQUIRES: lua
# REQUIRES: python
# UNSUPPORTED: lldb-repro
# RUN: mkdir -p %t
# RUN: cd %t
# RUN: echo "int main() { return 0; }" | %clang_host -x c - -o a.out
# RUN: cat %s | %lldb 2>&1 | FileCheck %s
script -l lua --
target = lldb.debugger:CreateTarget("a.out")
print("target is valid:", tostring(target:IsValid()))
lldb.debugger:SetSelectedTarget(target)
quit
# CHECK: target is valid: true
script -l python --
print("selected target: {}".format(lldb.debugger.GetSelectedTarget()))
# CHECK: selected target: a.out