From 193f327f11ec0ee5944c2a67ad4db901665431f5 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 10 Dec 2018 16:52:27 -0800 Subject: [PATCH] Strict null check extensionHostProfiler --- src/tsconfig.strictNullChecks.json | 1 + .../services/extensions/common/extensions.ts | 2 +- .../electron-browser/extensionHostProfiler.ts | 11 ++++------- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index fdf3e4dc0df..52cbc4ad3f5 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 4ee538b43ad..aa72b1b6ca1 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 d7bdc83c649..329872540f6 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, -- GitLab