Skip to content

Commit a92673f

Browse files
anthony-kolesovtkrasnukha
authored andcommitted
[lldb-vscode] Convert launch_info and attach_info to local variables
Those fields inside of the global variable can be local variables because they are used in only inside of one function: request_launch for launch_info and request_attach for attach_info. To avoid confusion an already existing local variable attach_info of request_attach has been renamed to better reflect its purpose. Differential Revision: https://reviews.llvm.org/D76593
1 parent 9d1721c commit a92673f

File tree

3 files changed

+21
-23
lines changed

3 files changed

+21
-23
lines changed

lldb/tools/lldb-vscode/VSCode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ namespace lldb_vscode {
2828
VSCode g_vsc;
2929

3030
VSCode::VSCode()
31-
: launch_info(nullptr), variables(), broadcaster("lldb-vscode"),
32-
num_regs(0), num_locals(0), num_globals(0), log(),
31+
: variables(), broadcaster("lldb-vscode"), num_regs(0), num_locals(0),
32+
num_globals(0), log(),
3333
exception_breakpoints(
3434
{{"cpp_catch", "C++ Catch", lldb::eLanguageTypeC_plus_plus},
3535
{"cpp_throw", "C++ Throw", lldb::eLanguageTypeC_plus_plus},

lldb/tools/lldb-vscode/VSCode.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,6 @@ struct VSCode {
7070
OutputStream output;
7171
lldb::SBDebugger debugger;
7272
lldb::SBTarget target;
73-
lldb::SBAttachInfo attach_info;
74-
lldb::SBLaunchInfo launch_info;
7573
lldb::SBValueList variables;
7674
lldb::SBBroadcaster broadcaster;
7775
int64_t num_regs;

lldb/tools/lldb-vscode/lldb-vscode.cpp

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -508,13 +508,14 @@ void request_attach(const llvm::json::Object &request) {
508508
llvm::json::Object response;
509509
lldb::SBError error;
510510
FillResponse(request, response);
511+
lldb::SBAttachInfo attach_info;
511512
auto arguments = request.getObject("arguments");
512513
const lldb::pid_t pid =
513514
GetUnsigned(arguments, "pid", LLDB_INVALID_PROCESS_ID);
514515
if (pid != LLDB_INVALID_PROCESS_ID)
515-
g_vsc.attach_info.SetProcessID(pid);
516+
attach_info.SetProcessID(pid);
516517
const auto wait_for = GetBoolean(arguments, "waitFor", false);
517-
g_vsc.attach_info.SetWaitForLaunch(wait_for, false /*async*/);
518+
attach_info.SetWaitForLaunch(wait_for, false /*async*/);
518519
g_vsc.init_commands = GetStrings(arguments, "initCommands");
519520
g_vsc.pre_run_commands = GetStrings(arguments, "preRunCommands");
520521
g_vsc.stop_commands = GetStrings(arguments, "stopCommands");
@@ -547,20 +548,19 @@ void request_attach(const llvm::json::Object &request) {
547548
g_vsc.RunPreRunCommands();
548549

549550
if (pid == LLDB_INVALID_PROCESS_ID && wait_for) {
550-
char attach_info[256];
551-
auto attach_info_len =
552-
snprintf(attach_info, sizeof(attach_info),
553-
"Waiting to attach to \"%s\"...",
554-
g_vsc.target.GetExecutable().GetFilename());
555-
g_vsc.SendOutput(OutputType::Console, llvm::StringRef(attach_info,
556-
attach_info_len));
551+
char attach_msg[256];
552+
auto attach_msg_len = snprintf(attach_msg, sizeof(attach_msg),
553+
"Waiting to attach to \"%s\"...",
554+
g_vsc.target.GetExecutable().GetFilename());
555+
g_vsc.SendOutput(OutputType::Console,
556+
llvm::StringRef(attach_msg, attach_msg_len));
557557
}
558558
if (attachCommands.empty()) {
559559
// No "attachCommands", just attach normally.
560560
// Disable async events so the attach will be successful when we return from
561561
// the launch call and the launch will happen synchronously
562562
g_vsc.debugger.SetAsync(false);
563-
g_vsc.target.Attach(g_vsc.attach_info, error);
563+
g_vsc.target.Attach(attach_info, error);
564564
// Reenable async events
565565
g_vsc.debugger.SetAsync(true);
566566
} else {
@@ -1381,26 +1381,26 @@ void request_launch(const llvm::json::Object &request) {
13811381
}
13821382

13831383
// Instantiate a launch info instance for the target.
1384-
g_vsc.launch_info = g_vsc.target.GetLaunchInfo();
1384+
auto launch_info = g_vsc.target.GetLaunchInfo();
13851385

13861386
// Grab the current working directory if there is one and set it in the
13871387
// launch info.
13881388
const auto cwd = GetString(arguments, "cwd");
13891389
if (!cwd.empty())
1390-
g_vsc.launch_info.SetWorkingDirectory(cwd.data());
1390+
launch_info.SetWorkingDirectory(cwd.data());
13911391

13921392
// Extract any extra arguments and append them to our program arguments for
13931393
// when we launch
13941394
auto args = GetStrings(arguments, "args");
13951395
if (!args.empty())
1396-
g_vsc.launch_info.SetArguments(MakeArgv(args).data(), true);
1396+
launch_info.SetArguments(MakeArgv(args).data(), true);
13971397

13981398
// Pass any environment variables along that the user specified.
13991399
auto envs = GetStrings(arguments, "env");
14001400
if (!envs.empty())
1401-
g_vsc.launch_info.SetEnvironmentEntries(MakeArgv(envs).data(), true);
1401+
launch_info.SetEnvironmentEntries(MakeArgv(envs).data(), true);
14021402

1403-
auto flags = g_vsc.launch_info.GetLaunchFlags();
1403+
auto flags = launch_info.GetLaunchFlags();
14041404

14051405
if (GetBoolean(arguments, "disableASLR", true))
14061406
flags |= lldb::eLaunchFlagDisableASLR;
@@ -1409,17 +1409,17 @@ void request_launch(const llvm::json::Object &request) {
14091409
if (GetBoolean(arguments, "shellExpandArguments", false))
14101410
flags |= lldb::eLaunchFlagShellExpandArguments;
14111411
const bool detatchOnError = GetBoolean(arguments, "detachOnError", false);
1412-
g_vsc.launch_info.SetDetachOnError(detatchOnError);
1413-
g_vsc.launch_info.SetLaunchFlags(flags | lldb::eLaunchFlagDebug |
1414-
lldb::eLaunchFlagStopAtEntry);
1412+
launch_info.SetDetachOnError(detatchOnError);
1413+
launch_info.SetLaunchFlags(flags | lldb::eLaunchFlagDebug |
1414+
lldb::eLaunchFlagStopAtEntry);
14151415

14161416
// Run any pre run LLDB commands the user specified in the launch.json
14171417
g_vsc.RunPreRunCommands();
14181418
if (launchCommands.empty()) {
14191419
// Disable async events so the launch will be successful when we return from
14201420
// the launch call and the launch will happen synchronously
14211421
g_vsc.debugger.SetAsync(false);
1422-
g_vsc.target.Launch(g_vsc.launch_info, error);
1422+
g_vsc.target.Launch(launch_info, error);
14231423
g_vsc.debugger.SetAsync(true);
14241424
} else {
14251425
g_vsc.RunLLDBCommands("Running launchCommands:", launchCommands);

0 commit comments

Comments
 (0)