From 980eb3e504e96a62ee062e37c7c3691f865a5551 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Fri, 8 Feb 2019 17:15:58 -0800 Subject: [PATCH] Strict null work in debug --- .../workbench/contrib/debug/common/debug.ts | 10 +++---- .../contrib/debug/common/debugModel.ts | 26 +++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/vs/workbench/contrib/debug/common/debug.ts b/src/vs/workbench/contrib/debug/common/debug.ts index 5b88039697f..d1d5e2ba2fe 100644 --- a/src/vs/workbench/contrib/debug/common/debug.ts +++ b/src/vs/workbench/contrib/debug/common/debug.ts @@ -244,7 +244,7 @@ export interface IThread extends ITreeElement { /** * Information about the exception if an 'exception' stopped event raised and DA supports the 'exceptionInfo' request, otherwise null. */ - readonly exceptionInfo: Promise; + readonly exceptionInfo: Promise; /** * Gets the callstack if it has already been received from the debug @@ -321,7 +321,7 @@ export interface IBaseBreakpoint extends IEnablement { readonly hitCondition: string; readonly logMessage: string; readonly verified: boolean; - readonly idFromAdapter: number; + readonly idFromAdapter: number | undefined; } export interface IBreakpoint extends IBaseBreakpoint { @@ -330,7 +330,7 @@ export interface IBreakpoint extends IBaseBreakpoint { readonly endLineNumber?: number; readonly column: number; readonly endColumn?: number; - readonly message: string; + readonly message?: string; readonly adapterData: any; } @@ -346,7 +346,7 @@ export interface IExceptionBreakpoint extends IEnablement { export interface IExceptionInfo { readonly id?: string; readonly description?: string; - readonly breakMode: string; + readonly breakMode: string | null; readonly details?: DebugProtocol.ExceptionDetails; } @@ -394,7 +394,7 @@ export interface IDebugModel extends ITreeElement { onDidChangeBreakpoints: Event; onDidChangeCallStack: Event; - onDidChangeWatchExpressions: Event; + onDidChangeWatchExpressions: Event; } /** diff --git a/src/vs/workbench/contrib/debug/common/debugModel.ts b/src/vs/workbench/contrib/debug/common/debugModel.ts index 35172eda586..54afae5c265 100644 --- a/src/vs/workbench/contrib/debug/common/debugModel.ts +++ b/src/vs/workbench/contrib/debug/common/debugModel.ts @@ -95,7 +95,7 @@ export class ExpressionContainer implements IExpressionContainer { public valueChanged: boolean; private _value: string; - protected children: Promise; + protected children?: Promise; constructor( protected session: IDebugSession, @@ -187,7 +187,7 @@ export class ExpressionContainer implements IExpressionContainer { set value(value: string) { this._value = value; - this.valueChanged = ExpressionContainer.allValues.get(this.getId()) && + this.valueChanged = !!ExpressionContainer.allValues.get(this.getId()) && ExpressionContainer.allValues.get(this.getId()) !== Expression.DEFAULT_VALUE && ExpressionContainer.allValues.get(this.getId()) !== value; ExpressionContainer.allValues.set(this.getId(), value); } @@ -259,7 +259,7 @@ export class Variable extends ExpressionContainer implements IExpression { namedVariables: number, indexedVariables: number, public presentationHint: DebugProtocol.VariablePresentationHint, - public type: string | null = null, + public type: string | undefined = undefined, public available = true, startOfVariables = 0 ) { @@ -308,7 +308,7 @@ export class Scope extends ExpressionContainer implements IScope { export class StackFrame implements IStackFrame { - private scopes: Promise; + private scopes: Promise | null; constructor( public thread: IThread, @@ -367,7 +367,7 @@ export class StackFrame implements IStackFrame { } const scopesContainingRange = scopes.filter(scope => scope.range && Range.containsRange(scope.range, range)) - .sort((first, second) => (first.range.endLineNumber - first.range.startLineNumber) - (second.range.endLineNumber - second.range.startLineNumber)); + .sort((first, second) => (first.range!.endLineNumber - first.range!.startLineNumber) - (second.range!.endLineNumber - second.range!.startLineNumber)); return scopesContainingRange.length ? scopesContainingRange : scopes; }); } @@ -564,7 +564,7 @@ export class BaseBreakpoint extends Enablement implements IBaseBreakpoint { return data ? data.verified : true; } - get idFromAdapter(): number { + get idFromAdapter(): number | undefined { const data = this.getSessionData(); return data ? data.id : undefined; } @@ -617,7 +617,7 @@ export class Breakpoint extends BaseBreakpoint implements IBreakpoint { return data && typeof data.column === 'number' && typeof this._column === 'number' ? data.column : this._column; } - get message(): string { + get message(): string | undefined { const data = this.getSessionData(); if (!data) { return undefined; @@ -634,12 +634,12 @@ export class Breakpoint extends BaseBreakpoint implements IBreakpoint { return data && data.source && data.source.adapterData ? data.source.adapterData : this._adapterData; } - get endLineNumber(): number { + get endLineNumber(): number | undefined { const data = this.getSessionData(); return data ? data.endLine : undefined; } - get endColumn(): number { + get endColumn(): number | undefined { const data = this.getSessionData(); return data ? data.endColumn : undefined; } @@ -743,9 +743,9 @@ export class DebugModel implements IDebugModel { private toDispose: lifecycle.IDisposable[]; private schedulers = new Map(); private breakpointsSessionId: string; - private readonly _onDidChangeBreakpoints: Emitter; + private readonly _onDidChangeBreakpoints: Emitter; private readonly _onDidChangeCallStack: Emitter; - private readonly _onDidChangeWatchExpressions: Emitter; + private readonly _onDidChangeWatchExpressions: Emitter; constructor( private breakpoints: Breakpoint[], @@ -797,7 +797,7 @@ export class DebugModel implements IDebugModel { return this._onDidChangeCallStack.event; } - get onDidChangeWatchExpressions(): Event { + get onDidChangeWatchExpressions(): Event { return this._onDidChangeWatchExpressions.event; } @@ -830,7 +830,7 @@ export class DebugModel implements IDebugModel { }, 420)); } - this.schedulers.get(thread.getId()).schedule(); + this.schedulers.get(thread.getId())!.schedule(); this._onDidChangeCallStack.fire(); }); } -- GitLab