From 397b45b76dba2e9f0520664d1527b3d526fe4ae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Weinand?= Date: Sat, 31 Mar 2018 17:36:36 +0200 Subject: [PATCH] cleanup breakpoint class hierarchy --- .../parts/debug/common/debugModel.ts | 79 +++++++++++-------- 1 file changed, 47 insertions(+), 32 deletions(-) diff --git a/src/vs/workbench/parts/debug/common/debugModel.ts b/src/vs/workbench/parts/debug/common/debugModel.ts index 303fc12498a..3613bcc3c04 100644 --- a/src/vs/workbench/parts/debug/common/debugModel.ts +++ b/src/vs/workbench/parts/debug/common/debugModel.ts @@ -20,7 +20,7 @@ import { ISuggestion } from 'vs/editor/common/modes'; import { Position } from 'vs/editor/common/core/position'; import { ITreeElement, IExpression, IExpressionContainer, IProcess, IStackFrame, IExceptionBreakpoint, IBreakpoint, IFunctionBreakpoint, IModel, IReplElementSource, - IConfig, ISession, IThread, IRawModelUpdate, IScope, IRawStoppedDetails, IEnablement, IBreakpointData, IExceptionInfo, IReplElement, ProcessState, IBreakpointsChangeEvent, IBreakpointUpdateData + IConfig, ISession, IThread, IRawModelUpdate, IScope, IRawStoppedDetails, IEnablement, IBreakpointData, IExceptionInfo, IReplElement, ProcessState, IBreakpointsChangeEvent, IBreakpointUpdateData, IBaseBreakpoint } from 'vs/workbench/parts/debug/common/debug'; import { Source } from 'vs/workbench/parts/debug/common/debugSource'; import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService'; @@ -686,60 +686,75 @@ export class Process implements IProcess { } } -export class Breakpoint implements IBreakpoint { +export class Enablement implements IEnablement { + constructor( + public enabled: boolean, + private id: string + ) { } + + public getId(): string { + return this.id; + } +} + +export class BaseBreakpoint extends Enablement implements IBaseBreakpoint { public verified: boolean; public idFromAdapter: number; - public message: string; - public endLineNumber: number; - public endColumn: number; constructor( - public uri: uri, - public lineNumber: number, - public column: number, - public enabled: boolean, - public condition: string, + enabled: boolean, public hitCondition: string, + public condition: string, public logMessage: string, - public adapterData: any, - private id = generateUuid() + id: string ) { + super(enabled, id); if (enabled === undefined) { this.enabled = true; } this.verified = false; } - - public getId(): string { - return this.id; - } } -export class FunctionBreakpoint implements IFunctionBreakpoint { +export class Breakpoint extends BaseBreakpoint implements IBreakpoint { - public verified: boolean; - public idFromAdapter: number; - - constructor(public name: string, public enabled: boolean, public hitCondition: string, public condition: string, public logMessage: string, private id = generateUuid()) { - this.verified = false; - } + public message: string; + public endLineNumber: number; + public endColumn: number; - public getId(): string { - return this.id; + constructor( + public uri: uri, + public lineNumber: number, + public column: number, + enabled: boolean, + condition: string, + hitCondition: string, + logMessage: string, + public adapterData: any, + id = generateUuid() + ) { + super(enabled, hitCondition, condition, logMessage, id); } } -export class ExceptionBreakpoint implements IExceptionBreakpoint { - - private id: string; +export class FunctionBreakpoint extends BaseBreakpoint implements IFunctionBreakpoint { - constructor(public filter: string, public label: string, public enabled: boolean) { - this.id = generateUuid(); + constructor( + public name: string, + enabled: boolean, + hitCondition: string, + condition: string, + logMessage: string, + id = generateUuid()) { + super(enabled, hitCondition, condition, logMessage, id); } +} - public getId(): string { - return this.id; +export class ExceptionBreakpoint extends Enablement implements IExceptionBreakpoint { + + constructor(public filter: string, public label: string, enabled: boolean) { + super(enabled, generateUuid()); } } -- GitLab