Skip to content

Commit 1c8b8f4

Browse files
authored
Fix error when renaming (#5114)
1 parent 399e8ad commit 1c8b8f4

File tree

8 files changed

+19
-18
lines changed

8 files changed

+19
-18
lines changed

Extension/CHANGELOG.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# C/C++ for Visual Studio Code Change Log
22

3-
## Version 0.27.0-insiders3: March 12, 2019
3+
## Version 0.27.0-insiders3: March 13, 2020
44
### Bug Fixes
55
* Fix update to clang-format 9.0.1 (and without shared library dependencies). [#2887](https://github.com/microsoft/vscode-cpptools/issues/2887), [#3174](https://github.com/microsoft/vscode-cpptools/issues/3174)
66
* Add new setting `C_Cpp.debugger.useBacktickCommandSubstitution` to fix debugging when CShell is the remote default shell. [#4015](https://github.com/microsoft/vscode-cpptools/issues/4015)
@@ -17,12 +17,12 @@
1717
* Fix Pause (break all) not working on Mac with Attach debugging.
1818
* Other language server crash fixes.
1919

20-
## Version 0.27.0-insiders2: March 4, 2019
20+
## Version 0.27.0-insiders2: March 4, 2020
2121
### Bug Fixes
2222
* Fix the `Open File...` scenario (without a workspace folder). [#5049](https://github.com/microsoft/vscode-cpptools/issues/5049)
2323
* Fix `browsePath` null reference that can occur with some configuration providers. [PR #5055](https://github.com/microsoft/vscode-cpptools/pull/5055)
2424

25-
## Version 0.27.0-insiders: March 3, 2019
25+
## Version 0.27.0-insiders: March 3, 2020
2626
### Enhancements
2727
* Improved multi-root implementation with a single language server process and database for the entire workspace (shared between workspace folders). Fixes most [multi-root bugs](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature%3A+Multiroot%22+label%3A%22fixed+%28release+pending%29%22+milestone%3A0.27.0).
2828
* Update to clang-format 9.0.1 (and without shared library dependencies). [#2887](https://github.com/microsoft/vscode-cpptools/issues/2887), [#3174](https://github.com/microsoft/vscode-cpptools/issues/3174)

Extension/src/Debugger/configurationProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export class QuickPickConfigurationProvider implements vscode.DebugConfiguration
7070
throw new Error(); // User canceled it.
7171
}
7272
if (selection.label.startsWith("cl.exe")) {
73-
if (!process.env.DevEnvDir || process.env.DevEnvDir.length === 0) {
73+
if (!process.env.DevEnvDir) {
7474
vscode.window.showErrorMessage(localize("cl.exe.not.available", "{0} build and debug is only usable when VS Code is run from the Developer Command Prompt for VS.", "cl.exe"));
7575
throw new Error();
7676
}

Extension/src/LanguageServer/client.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,7 @@ export class DefaultClient implements Client {
593593
storagePath = path;
594594
}
595595
}
596+
596597
if (!storagePath) {
597598
storagePath = path.join(this.RootPath, "/.vscode");
598599
}

Extension/src/LanguageServer/configurations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1291,7 +1291,7 @@ export class CppProperties {
12911291
if (isWindows && compilerPathAndArgs.compilerName === "cl.exe") {
12921292
continue; // Don't squiggle invalid cl.exe paths because it could be for an older preview build.
12931293
}
1294-
if (!compilerPathAndArgs.compilerPath) {
1294+
if (compilerPathAndArgs.compilerPath === undefined) {
12951295
continue;
12961296
}
12971297
// Squiggle when the compiler's path has spaces without quotes but args are used.

Extension/src/LanguageServer/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1254,7 +1254,7 @@ function onRenameViewAddFile(arg?: TreeNode): void {
12541254
}
12551255

12561256
function onRenameViewAddReferenceType(arg?: TreeNode): void {
1257-
if (!arg || !arg.referenceType) {
1257+
if (!arg || arg.referenceType === undefined) {
12581258
return;
12591259
}
12601260
arg.model.setAllReferenceTypeRenamesPending(arg.referenceType);

Extension/src/LanguageServer/referencesModel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ export class ReferencesModel {
277277
let referenceInfos: ReferenceInfo[] = [];
278278
this.nodes.forEach(n => {
279279
if (!n.isRenameCandidate) {
280-
if (!n.filename || !n.referenceLocation || !n.referenceText || !n.referenceType) {
280+
if (!n.filename || !n.referenceLocation || n.referenceText === undefined || n.referenceType === undefined) {
281281
throw new Error("Invalid TreeNode detected in completeRename()");
282282
}
283283
let referenceInfo: ReferenceInfo = {

Extension/src/LanguageServer/referencesTreeDataProvider.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,14 @@ export class ReferencesTreeDataProvider implements vscode.TreeDataProvider<TreeN
7575
}
7676

7777
getTreeItem(element: TreeNode): vscode.TreeItem {
78-
if (!this.referencesModel) {
79-
throw new Error("Null or undefined RefrencesModel in getTreeItem()");
78+
if (this.referencesModel === undefined) {
79+
throw new Error("Undefined RefrencesModel in getTreeItem()");
8080
}
8181

8282
switch (element.node) {
8383
case NodeType.referenceType:
84-
if (!element.referenceType) {
85-
throw new Error("Null or undefined referenceType in getTreeItem()");
84+
if (element.referenceType === undefined) {
85+
throw new Error("Undefined referenceType in getTreeItem()");
8686
}
8787
const label: string = getReferenceTagString(element.referenceType, this.referencesModel.isCanceled, true);
8888
let resultRefType: vscode.TreeItem = new vscode.TreeItem(label, vscode.TreeItemCollapsibleState.Expanded);
@@ -93,8 +93,8 @@ export class ReferencesTreeDataProvider implements vscode.TreeDataProvider<TreeN
9393

9494
case NodeType.file:
9595
case NodeType.fileWithPendingRef:
96-
if (!element.fileUri) {
97-
throw new Error("Null or undefined fileUri in getTreeItem()");
96+
if (element.fileUri === undefined) {
97+
throw new Error("Undefined fileUri in getTreeItem()");
9898
}
9999
let resultFile: vscode.TreeItem = new vscode.TreeItem(element.fileUri);
100100
resultFile.collapsibleState = vscode.TreeItemCollapsibleState.Expanded;
@@ -118,11 +118,11 @@ export class ReferencesTreeDataProvider implements vscode.TreeDataProvider<TreeN
118118
return resultFile;
119119

120120
case NodeType.reference:
121-
if (!element.referenceText) {
122-
throw new Error("Null or undefined referenceText in getTreeItem()");
121+
if (element.referenceText === undefined) {
122+
throw new Error("Undefined referenceText in getTreeItem()");
123123
}
124-
if (!element.referenceType) {
125-
throw new Error("Null or undefined referenceType in getTreeItem()");
124+
if (element.referenceType === undefined) {
125+
throw new Error("Undefined referenceType in getTreeItem()");
126126
}
127127
let resultRef: vscode.TreeItem = new vscode.TreeItem(element.referenceText, vscode.TreeItemCollapsibleState.None);
128128
resultRef.iconPath = getReferenceItemIconPath(element.referenceType, this.referencesModel.isCanceled);

Extension/src/common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ export function getVcpkgPathDescriptorFile(): string {
174174

175175
let vcpkgRoot: string;
176176
export function getVcpkgRoot(): string {
177-
if (!vcpkgRoot && vcpkgRoot !== "") {
177+
if (!vcpkgRoot) {
178178
vcpkgRoot = "";
179179
// Check for vcpkg instance.
180180
if (fs.existsSync(getVcpkgPathDescriptorFile())) {

0 commit comments

Comments
 (0)