diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index fdf3e4dc0df269dc3c32d097f098edf30dbeba33..52cbc4ad3f5cec4b56a7f9435d1b9c784a6c2f2b 100644 --- a/src/tsconfig.strictNullChecks.json +++ b/src/tsconfig.strictNullChecks.json @@ -682,6 +682,7 @@ "./vs/workbench/services/extensions/common/extensions.ts", "./vs/workbench/services/extensions/common/extensionsRegistry.ts", "./vs/workbench/services/extensions/electron-browser/cachedExtensionScanner.ts", + "./vs/workbench/services/extensions/electron-browser/extensionHostProfiler.ts", "./vs/workbench/services/extensions/electron-browser/inactiveExtensionUrlHandler.ts", "./vs/workbench/services/extensions/node/extensionDescriptionRegistry.ts", "./vs/workbench/services/extensions/node/extensionManagementServerService.ts", diff --git a/src/vs/workbench/services/extensions/common/extensions.ts b/src/vs/workbench/services/extensions/common/extensions.ts index 4ee538b43ade1988dda3672f0ef0f3b3108bac1a..aa72b1b6ca102ea9332cd589093e51d40a5d2392 100644 --- a/src/vs/workbench/services/extensions/common/extensions.ts +++ b/src/vs/workbench/services/extensions/common/extensions.ts @@ -102,7 +102,7 @@ export interface IExtensionHostProfile { /** * Extension id or one of the four known program states. */ -export type ProfileSegmentId = string | 'idle' | 'program' | 'gc' | 'self'; +export type ProfileSegmentId = string | 'idle' | 'program' | 'gc' | 'self' | null; export class ActivationTimes { constructor( diff --git a/src/vs/workbench/services/extensions/electron-browser/extensionHostProfiler.ts b/src/vs/workbench/services/extensions/electron-browser/extensionHostProfiler.ts index d7bdc83c64903e63acf3eabfa313dbcb73149413..329872540f6337c2c0702450173489a35be2f3b1 100644 --- a/src/vs/workbench/services/extensions/electron-browser/extensionHostProfiler.ts +++ b/src/vs/workbench/services/extensions/electron-browser/extensionHostProfiler.ts @@ -69,13 +69,13 @@ export class ExtensionHostProfiler { } visit(nodes[0], null); - let samples = profile.samples; - let timeDeltas = profile.timeDeltas; + const samples = profile.samples || []; + let timeDeltas = profile.timeDeltas || []; let distilledDeltas: number[] = []; let distilledIds: ProfileSegmentId[] = []; let currSegmentTime = 0; - let currSegmentId: string = void 0; + let currSegmentId: string | undefined; for (let i = 0; i < samples.length; i++) { let id = samples[i]; let segmentId = idsToSegmentId.get(id); @@ -84,7 +84,7 @@ export class ExtensionHostProfiler { distilledIds.push(currSegmentId); distilledDeltas.push(currSegmentTime); } - currSegmentId = segmentId; + currSegmentId = segmentId || undefined; currSegmentTime = 0; } currSegmentTime += timeDeltas[i]; @@ -93,9 +93,6 @@ export class ExtensionHostProfiler { distilledIds.push(currSegmentId); distilledDeltas.push(currSegmentTime); } - idsToNodes = null; - idsToSegmentId = null; - searchTree = null; return { startTime: profile.startTime,