diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index b575f0a031a..6862624412d 100644 --- a/src/tsconfig.strictNullChecks.json +++ b/src/tsconfig.strictNullChecks.json @@ -97,8 +97,10 @@ "./vs/workbench/api/node/extHostDocuments.ts", "./vs/workbench/api/node/extHostDocumentsAndEditors.ts", "./vs/workbench/api/node/extHostExtensionActivator.ts", + "./vs/workbench/api/node/extHostFileSystem.ts", "./vs/workbench/api/node/extHostFileSystemEventService.ts", "./vs/workbench/api/node/extHostHeapService.ts", + "./vs/workbench/api/node/extHostLanguageFeatures.ts", "./vs/workbench/api/node/extHostLanguages.ts", "./vs/workbench/api/node/extHostLogService.ts", "./vs/workbench/api/node/extHostMessageService.ts", @@ -491,6 +493,7 @@ "./vs/workbench/services/untitled/common/untitledEditorService.ts", "./vs/workbench/services/viewlet/browser/viewlet.ts", "./vs/workbench/services/workspace/common/workspaceEditing.ts", + "./vs/workbench/services/workspace/node/workspaceEditingService.ts", "./vs/workbench/test/browser/actionRegistry.test.ts", "./vs/workbench/test/browser/viewlet.test.ts", "./vs/workbench/test/common/editor/editorInput.test.ts", @@ -504,6 +507,7 @@ "./vs/workbench/test/electron-browser/api/extHostDocumentSaveParticipant.test.ts", "./vs/workbench/test/electron-browser/api/extHostDocumentsAndEditors.test.ts", "./vs/workbench/test/electron-browser/api/extHostFileSystemEventService.test.ts", + "./vs/workbench/test/electron-browser/api/extHostLanguageFeatures.test.ts", "./vs/workbench/test/electron-browser/api/extHostMessagerService.test.ts", "./vs/workbench/test/electron-browser/api/extHostTextEditor.test.ts", "./vs/workbench/test/electron-browser/api/extHostTextEditors.test.ts", @@ -512,6 +516,7 @@ "./vs/workbench/test/electron-browser/api/extHostWebview.test.ts", "./vs/workbench/test/electron-browser/api/extHostWorkspace.test.ts", "./vs/workbench/test/electron-browser/api/mainThreadCommands.test.ts", + "./vs/workbench/test/electron-browser/api/mainThreadConfiguration.test.ts", "./vs/workbench/test/electron-browser/api/mainThreadDiagnostics.test.ts", "./vs/workbench/test/electron-browser/api/mainThreadDocumentContentProviders.test.ts", "./vs/workbench/test/electron-browser/api/mock.ts", diff --git a/src/vs/workbench/api/node/extHost.protocol.ts b/src/vs/workbench/api/node/extHost.protocol.ts index 015c56d1e43..9b9f34f91ee 100644 --- a/src/vs/workbench/api/node/extHost.protocol.ts +++ b/src/vs/workbench/api/node/extHost.protocol.ts @@ -490,7 +490,7 @@ export interface WebviewPanelShowOptions { export interface MainThreadWebviewsShape extends IDisposable { $createWebviewPanel(handle: WebviewPanelHandle, viewType: string, title: string, showOptions: WebviewPanelShowOptions, options: vscode.WebviewPanelOptions & vscode.WebviewOptions, extensionId: ExtensionIdentifier, extensionLocation: UriComponents): void; - $createWebviewCodeInset(handle: WebviewInsetHandle, symbolId: string, options: vscode.WebviewOptions, extensionLocation: UriComponents): void; + $createWebviewCodeInset(handle: WebviewInsetHandle, symbolId: string, options: vscode.WebviewOptions, extensionLocation: UriComponents | undefined): void; $disposeWebview(handle: WebviewPanelHandle): void; $reveal(handle: WebviewPanelHandle, showOptions: WebviewPanelShowOptions): void; $setTitle(handle: WebviewPanelHandle, value: string): void; diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts index cdc7a819b62..5d902dd3def 100644 --- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts @@ -71,6 +71,7 @@ class DocumentSymbolAdapter { const element = { name: info.name || '!!MISSING: name!!', kind: typeConvert.SymbolKind.from(info.kind), + detail: undefined!, // Strict null override — avoid changing behavior containerName: info.containerName, range: typeConvert.Range.from(info.location.range), selectionRange: typeConvert.Range.from(info.location.range), @@ -85,7 +86,9 @@ class DocumentSymbolAdapter { } const parent = parentStack[parentStack.length - 1]; if (EditorRange.containsRange(parent.range, element.range) && !EditorRange.equalsRange(parent.range, element.range)) { - parent.children.push(element); + if (parent.children) { + parent.children.push(element); + } parentStack.push(element); break; } @@ -750,7 +753,7 @@ class SuggestAdapter { } else if (item.insertText instanceof SnippetString) { result.insertText = item.insertText.value; - result.insertTextRules |= modes.CompletionItemInsertTextRule.InsertAsSnippet; + result.insertTextRules! |= modes.CompletionItemInsertTextRule.InsertAsSnippet; } else { result.insertText = item.label; @@ -1053,7 +1056,7 @@ export class ExtHostLanguageFeatures implements ExtHostLanguageFeaturesShape { return ExtHostLanguageFeatures._handlePool++; } - private _withAdapter(handle: number, ctor: { new(...args: any[]): A }, callback: (adapter: A, extenson: IExtensionDescription) => Promise): Promise { + private _withAdapter(handle: number, ctor: { new(...args: any[]): A }, callback: (adapter: A, extension: IExtensionDescription | undefined) => Promise): Promise { const data = this._adapter.get(handle); if (!data) { return Promise.reject(new Error('no adapter found')); @@ -1156,7 +1159,7 @@ export class ExtHostLanguageFeatures implements ExtHostLanguageFeaturesShape { const webviewHandle = Math.random(); const webview = new ExtHostWebview(webviewHandle, this._webviewProxy, { enableScripts: true }); return this._withAdapter(handle, CodeInsetAdapter, async (adapter, extension) => { - await this._webviewProxy.$createWebviewCodeInset(webviewHandle, symbol.id, { enableCommandUris: true, enableScripts: true }, extension.extensionLocation); + await this._webviewProxy.$createWebviewCodeInset(webviewHandle, symbol.id, { enableCommandUris: true, enableScripts: true }, extension ? extension.extensionLocation : undefined); return adapter.resolveCodeInset(symbol, webview, token); }); }