anton.kolesov created this revision. anton.kolesov added reviewers: labath, clayborg. Herald added a project: LLDB. Herald added a subscriber: lldb-commits.
This field inside of the global variable can be a simple local variable because it is used in only one function: request_launch. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D76593 Files: lldb/tools/lldb-vscode/VSCode.cpp lldb/tools/lldb-vscode/VSCode.h lldb/tools/lldb-vscode/lldb-vscode.cpp Index: lldb/tools/lldb-vscode/lldb-vscode.cpp =================================================================== --- lldb/tools/lldb-vscode/lldb-vscode.cpp +++ lldb/tools/lldb-vscode/lldb-vscode.cpp @@ -1381,26 +1381,26 @@ } // Instantiate a launch info instance for the target. - g_vsc.launch_info = g_vsc.target.GetLaunchInfo(); + auto launch_info = g_vsc.target.GetLaunchInfo(); // Grab the current working directory if there is one and set it in the // launch info. const auto cwd = GetString(arguments, "cwd"); if (!cwd.empty()) - g_vsc.launch_info.SetWorkingDirectory(cwd.data()); + launch_info.SetWorkingDirectory(cwd.data()); // Extract any extra arguments and append them to our program arguments for // when we launch auto args = GetStrings(arguments, "args"); if (!args.empty()) - g_vsc.launch_info.SetArguments(MakeArgv(args).data(), true); + launch_info.SetArguments(MakeArgv(args).data(), true); // Pass any environment variables along that the user specified. auto envs = GetStrings(arguments, "env"); if (!envs.empty()) - g_vsc.launch_info.SetEnvironmentEntries(MakeArgv(envs).data(), true); + launch_info.SetEnvironmentEntries(MakeArgv(envs).data(), true); - auto flags = g_vsc.launch_info.GetLaunchFlags(); + auto flags = launch_info.GetLaunchFlags(); if (GetBoolean(arguments, "disableASLR", true)) flags |= lldb::eLaunchFlagDisableASLR; @@ -1409,9 +1409,9 @@ if (GetBoolean(arguments, "shellExpandArguments", false)) flags |= lldb::eLaunchFlagShellExpandArguments; const bool detatchOnError = GetBoolean(arguments, "detachOnError", false); - g_vsc.launch_info.SetDetachOnError(detatchOnError); - g_vsc.launch_info.SetLaunchFlags(flags | lldb::eLaunchFlagDebug | - lldb::eLaunchFlagStopAtEntry); + launch_info.SetDetachOnError(detatchOnError); + launch_info.SetLaunchFlags(flags | lldb::eLaunchFlagDebug | + lldb::eLaunchFlagStopAtEntry); // Run any pre run LLDB commands the user specified in the launch.json g_vsc.RunPreRunCommands(); @@ -1419,7 +1419,7 @@ // Disable async events so the launch will be successful when we return from // the launch call and the launch will happen synchronously g_vsc.debugger.SetAsync(false); - g_vsc.target.Launch(g_vsc.launch_info, error); + g_vsc.target.Launch(launch_info, error); g_vsc.debugger.SetAsync(true); } else { g_vsc.RunLLDBCommands("Running launchCommands:", launchCommands); Index: lldb/tools/lldb-vscode/VSCode.h =================================================================== --- lldb/tools/lldb-vscode/VSCode.h +++ lldb/tools/lldb-vscode/VSCode.h @@ -71,7 +71,6 @@ lldb::SBDebugger debugger; lldb::SBTarget target; lldb::SBAttachInfo attach_info; - lldb::SBLaunchInfo launch_info; lldb::SBValueList variables; lldb::SBBroadcaster broadcaster; int64_t num_regs; Index: lldb/tools/lldb-vscode/VSCode.cpp =================================================================== --- lldb/tools/lldb-vscode/VSCode.cpp +++ lldb/tools/lldb-vscode/VSCode.cpp @@ -28,7 +28,7 @@ VSCode g_vsc; VSCode::VSCode() - : launch_info(nullptr), variables(), broadcaster("lldb-vscode"), + : variables(), broadcaster("lldb-vscode"), num_regs(0), num_locals(0), num_globals(0), log(), exception_breakpoints( {{"cpp_catch", "C++ Catch", lldb::eLanguageTypeC_plus_plus},
Index: lldb/tools/lldb-vscode/lldb-vscode.cpp =================================================================== --- lldb/tools/lldb-vscode/lldb-vscode.cpp +++ lldb/tools/lldb-vscode/lldb-vscode.cpp @@ -1381,26 +1381,26 @@ } // Instantiate a launch info instance for the target. - g_vsc.launch_info = g_vsc.target.GetLaunchInfo(); + auto launch_info = g_vsc.target.GetLaunchInfo(); // Grab the current working directory if there is one and set it in the // launch info. const auto cwd = GetString(arguments, "cwd"); if (!cwd.empty()) - g_vsc.launch_info.SetWorkingDirectory(cwd.data()); + launch_info.SetWorkingDirectory(cwd.data()); // Extract any extra arguments and append them to our program arguments for // when we launch auto args = GetStrings(arguments, "args"); if (!args.empty()) - g_vsc.launch_info.SetArguments(MakeArgv(args).data(), true); + launch_info.SetArguments(MakeArgv(args).data(), true); // Pass any environment variables along that the user specified. auto envs = GetStrings(arguments, "env"); if (!envs.empty()) - g_vsc.launch_info.SetEnvironmentEntries(MakeArgv(envs).data(), true); + launch_info.SetEnvironmentEntries(MakeArgv(envs).data(), true); - auto flags = g_vsc.launch_info.GetLaunchFlags(); + auto flags = launch_info.GetLaunchFlags(); if (GetBoolean(arguments, "disableASLR", true)) flags |= lldb::eLaunchFlagDisableASLR; @@ -1409,9 +1409,9 @@ if (GetBoolean(arguments, "shellExpandArguments", false)) flags |= lldb::eLaunchFlagShellExpandArguments; const bool detatchOnError = GetBoolean(arguments, "detachOnError", false); - g_vsc.launch_info.SetDetachOnError(detatchOnError); - g_vsc.launch_info.SetLaunchFlags(flags | lldb::eLaunchFlagDebug | - lldb::eLaunchFlagStopAtEntry); + launch_info.SetDetachOnError(detatchOnError); + launch_info.SetLaunchFlags(flags | lldb::eLaunchFlagDebug | + lldb::eLaunchFlagStopAtEntry); // Run any pre run LLDB commands the user specified in the launch.json g_vsc.RunPreRunCommands(); @@ -1419,7 +1419,7 @@ // Disable async events so the launch will be successful when we return from // the launch call and the launch will happen synchronously g_vsc.debugger.SetAsync(false); - g_vsc.target.Launch(g_vsc.launch_info, error); + g_vsc.target.Launch(launch_info, error); g_vsc.debugger.SetAsync(true); } else { g_vsc.RunLLDBCommands("Running launchCommands:", launchCommands); Index: lldb/tools/lldb-vscode/VSCode.h =================================================================== --- lldb/tools/lldb-vscode/VSCode.h +++ lldb/tools/lldb-vscode/VSCode.h @@ -71,7 +71,6 @@ lldb::SBDebugger debugger; lldb::SBTarget target; lldb::SBAttachInfo attach_info; - lldb::SBLaunchInfo launch_info; lldb::SBValueList variables; lldb::SBBroadcaster broadcaster; int64_t num_regs; Index: lldb/tools/lldb-vscode/VSCode.cpp =================================================================== --- lldb/tools/lldb-vscode/VSCode.cpp +++ lldb/tools/lldb-vscode/VSCode.cpp @@ -28,7 +28,7 @@ VSCode g_vsc; VSCode::VSCode() - : launch_info(nullptr), variables(), broadcaster("lldb-vscode"), + : variables(), broadcaster("lldb-vscode"), num_regs(0), num_locals(0), num_globals(0), log(), exception_breakpoints( {{"cpp_catch", "C++ Catch", lldb::eLanguageTypeC_plus_plus},
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits