提交 6a9c0580 编写于 作者: I isidor

debug: better has / get map usage due to null checks

上级 5f407914
......@@ -93,8 +93,9 @@ export class DebugEditorModelManager implements IWorkbenchContribution {
private onModelRemoved(model: ITextModel): void {
const modelUriStr = model.uri.toString();
if (this.modelDataMap.has(modelUriStr)) {
lifecycle.dispose(this.modelDataMap.get(modelUriStr)!.toDispose);
const data = this.modelDataMap.get(modelUriStr);
if (data) {
lifecycle.dispose(data.toDispose);
this.modelDataMap.delete(modelUriStr);
}
}
......@@ -132,8 +133,8 @@ export class DebugEditorModelManager implements IWorkbenchContribution {
range: columnUntilEOLRange
});
if (this.modelDataMap.has(modelUriStr)) {
const modelData = this.modelDataMap.get(modelUriStr)!;
const modelData = this.modelDataMap.get(modelUriStr);
if (modelData) {
if (modelData.topStackFrameRange && modelData.topStackFrameRange.startLineNumber === stackFrame.range.startLineNumber && modelData.topStackFrameRange.startColumn !== stackFrame.range.startColumn) {
result.push({
options: DebugEditorModelManager.TOP_STACK_FRAME_INLINE_DECORATION,
......@@ -205,16 +206,18 @@ export class DebugEditorModelManager implements IWorkbenchContribution {
const breakpointsMap = new Map<string, IBreakpoint[]>();
this.debugService.getModel().getBreakpoints().forEach(bp => {
const uriStr = bp.uri.toString();
if (breakpointsMap.has(uriStr)) {
breakpointsMap.get(uriStr)!.push(bp);
const breakpoints = breakpointsMap.get(uriStr);
if (breakpoints) {
breakpoints.push(bp);
} else {
breakpointsMap.set(uriStr, [bp]);
}
});
breakpointsMap.forEach((bps, uri) => {
if (this.modelDataMap.has(uri)) {
this.updateBreakpoints(this.modelDataMap.get(uri)!, breakpointsMap.get(uri)!);
const data = this.modelDataMap.get(uri);
if (data) {
this.updateBreakpoints(data, breakpointsMap.get(uri)!);
}
});
this.modelDataMap.forEach((modelData, uri) => {
......
......@@ -641,8 +641,9 @@ export class DebugEditorContribution implements IDebugEditorContribution {
// Compute unique set of names on each line
nameValueMap.forEach((value, name) => {
if (wordToPositionsMap.has(name)) {
for (let position of wordToPositionsMap.get(name)) {
const positions = wordToPositionsMap.get(name);
if (positions) {
for (let position of positions) {
if (range.containsPosition(position)) {
if (!lineToNamesMap.has(position.lineNumber)) {
lineToNamesMap.set(position.lineNumber, []);
......
......@@ -517,8 +517,8 @@ export class DebugSession implements IDebugSession {
clearThreads(removeThreads: boolean, reference: number | undefined = undefined): void {
if (reference !== undefined && reference !== null) {
if (this.threads.has(reference)) {
const thread = this.threads.get(reference);
const thread = this.threads.get(reference);
if (thread) {
thread.clearCallStack();
thread.stoppedDetails = undefined;
thread.stopped = false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册