diff --git a/src/vs/workbench/api/common/extHostNotebookDocument.ts b/src/vs/workbench/api/common/extHostNotebookDocument.ts index 924fe953d9d..58197d4c2c0 100644 --- a/src/vs/workbench/api/common/extHostNotebookDocument.ts +++ b/src/vs/workbench/api/common/extHostNotebookDocument.ts @@ -93,7 +93,7 @@ export class ExtHostCell { if (!data) { throw new Error(`MISSING extHostDocument for notebook cell: ${this.uri}`); } - this._apiCell = Object.freeze({ + const apiCell: vscode.NotebookCell = { get index() { return that.notebook.getCellIndex(that); }, notebook: that.notebook.apiNotebook, kind: extHostTypeConverters.NotebookCellKind.to(this._cellData.cellKind), @@ -103,7 +103,8 @@ export class ExtHostCell { get outputs() { return that._outputs.slice(0); }, get metadata() { return that._metadata; }, get executionSummary() { return that._previousResult; } - }); + }; + this._apiCell = Object.freeze(apiCell); } return this._apiCell; } @@ -181,7 +182,7 @@ export class ExtHostNotebookDocument { get apiNotebook(): vscode.NotebookDocument { if (!this._notebook) { const that = this; - this._notebook = { + const apiObject: vscode.NotebookDocument = { get uri() { return that.uri; }, get version() { return that._versionId; }, get notebookType() { return that._notebookType; }, @@ -202,6 +203,7 @@ export class ExtHostNotebookDocument { return that._save(); } }; + this._notebook = Object.freeze(apiObject); } return this._notebook; } diff --git a/src/vs/workbench/api/test/browser/extHostNotebook.test.ts b/src/vs/workbench/api/test/browser/extHostNotebook.test.ts index 96a1f781676..aa96537670d 100644 --- a/src/vs/workbench/api/test/browser/extHostNotebook.test.ts +++ b/src/vs/workbench/api/test/browser/extHostNotebook.test.ts @@ -490,7 +490,7 @@ suite('NotebookCell#Document', function () { assert.ok(Object.isFrozen(event)); assert.ok(Object.isFrozen(event.cellChanges)); assert.ok(Object.isFrozen(event.contentChanges)); - assert.ok(!Object.isFrozen(event.notebook)); + assert.ok(Object.isFrozen(event.notebook)); assert.ok(!Object.isFrozen(event.metadata)); }); });