Skip to content

Commit ffd1424

Browse files
jrandolf-2Devtools-frontend LUCI CQ
authored and
Devtools-frontend LUCI CQ
committed
Add noImplicitOverride
`noImplicitOverride` guarantees type safety when overriding a class method. This also improves refactoring behavior. The primary motivation for `noImplicitOverride` is for using with Lit elements where overriding methods is important. Bug: 1402569 Change-Id: Ia095c38a6d1fc160f9b08c350d6f7248daab38a4 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4443322 Reviewed-by: Jack Franklin <[email protected]> Commit-Queue: Randolf Jung <[email protected]>
1 parent 1f38275 commit ffd1424

File tree

316 files changed

+1310
-1309
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

316 files changed

+1310
-1309
lines changed

config/typescript/tsconfig.base.json

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"strict": true,
1111
"forceConsistentCasingInFileNames": true,
1212
"noImplicitReturns": true,
13+
"noImplicitOverride": true,
1314
"noFallthroughCasesInSwitch": true,
1415
"useUnknownInCatchVariables": false,
1516

front_end/core/common/Settings.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ export class RegExpSetting extends Setting<any> {
538538
this.#regexFlags = regexFlags;
539539
}
540540

541-
get(): string {
541+
override get(): string {
542542
const result = [];
543543
const items = this.getAsArray();
544544
for (let i = 0; i < items.length; ++i) {
@@ -554,7 +554,7 @@ export class RegExpSetting extends Setting<any> {
554554
return super.get();
555555
}
556556

557-
set(value: string): void {
557+
override set(value: string): void {
558558
this.setAsArray([{pattern: value, disabled: false}]);
559559
}
560560

front_end/core/platform/UserVisibleError.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {type LocalizedString} from './UIString.js';
1111
* localized on the way in.
1212
*/
1313
export class UserVisibleError extends Error {
14-
readonly message: LocalizedString;
14+
override readonly message: LocalizedString;
1515

1616
constructor(message: LocalizedString) {
1717
super(message);

front_end/core/sdk/AccessibilityModel.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -233,11 +233,11 @@ export class AccessibilityModel extends SDKModel<EventTypes> implements Protocol
233233
this.#frameIdToAXNode.clear();
234234
}
235235

236-
async resumeModel(): Promise<void> {
236+
override async resumeModel(): Promise<void> {
237237
await this.agent.invoke_enable();
238238
}
239239

240-
async suspendModel(): Promise<void> {
240+
override async suspendModel(): Promise<void> {
241241
await this.agent.invoke_disable();
242242
}
243243

front_end/core/sdk/CPUProfileDataModel.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import {ProfileNode, ProfileTreeModel} from './ProfileTreeModel.js';
1010
import {type Target} from './Target.js';
1111

1212
export class CPUProfileNode extends ProfileNode {
13-
id: number;
14-
self: number;
13+
override id: number;
14+
override self: number;
1515
positionTicks: Protocol.Profiler.PositionTickInfo[]|undefined;
16-
deoptReason: string|null;
16+
override deoptReason: string|null;
1717

1818
constructor(node: Protocol.Profiler.ProfileNode, sampleTime: number, target: Target|null) {
1919
const callFrame = node.callFrame || ({

front_end/core/sdk/CSSModel.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -727,14 +727,14 @@ export class CSSModel extends SDKModel<EventTypes> {
727727
this.#fontFaces.clear();
728728
}
729729

730-
async suspendModel(): Promise<void> {
730+
override async suspendModel(): Promise<void> {
731731
this.#isEnabled = false;
732732
await this.agent.invoke_disable();
733733
this.resetStyleSheets();
734734
this.resetFontFaces();
735735
}
736736

737-
async resumeModel(): Promise<void> {
737+
override async resumeModel(): Promise<void> {
738738
return this.enable();
739739
}
740740

@@ -813,7 +813,7 @@ export class CSSModel extends SDKModel<EventTypes> {
813813
}
814814
}
815815

816-
dispose(): void {
816+
override dispose(): void {
817817
this.disableCSSPropertyTracker();
818818
super.dispose();
819819
this.#sourceMapManager.dispose();

front_end/core/sdk/CSSRule.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ export class CSSStyleRule extends CSSRule {
190190
return styleSheetHeader.columnNumberInSource(selector.range.startLine, selector.range.startColumn);
191191
}
192192

193-
rebase(edit: Edit): void {
193+
override rebase(edit: Edit): void {
194194
if (this.styleSheetId !== edit.styleSheetId) {
195195
return;
196196
}
@@ -243,7 +243,7 @@ export class CSSKeyframeRule extends CSSRule {
243243
this.#keyText = new CSSValue(payload);
244244
}
245245

246-
rebase(edit: Edit): void {
246+
override rebase(edit: Edit): void {
247247
if (this.styleSheetId !== edit.styleSheetId || !this.#keyText.range) {
248248
return;
249249
}

front_end/core/sdk/ChildTargetManager.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ export class ChildTargetManager extends SDKModel<EventTypes> implements Protocol
5959
return Array.from(this.#childTargetsBySessionId.values());
6060
}
6161

62-
async suspendModel(): Promise<void> {
62+
override async suspendModel(): Promise<void> {
6363
await this.#targetAgent.invoke_setAutoAttach({autoAttach: true, waitForDebuggerOnStart: false, flatten: true});
6464
}
6565

66-
async resumeModel(): Promise<void> {
66+
override async resumeModel(): Promise<void> {
6767
await this.#targetAgent.invoke_setAutoAttach({autoAttach: true, waitForDebuggerOnStart: true, flatten: true});
6868
}
6969

70-
dispose(): void {
70+
override dispose(): void {
7171
for (const sessionId of this.#childTargetsBySessionId.keys()) {
7272
this.detachedFromTarget({sessionId, targetId: undefined});
7373
}

front_end/core/sdk/DOMDebuggerModel.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -261,11 +261,11 @@ export class DOMDebuggerModel extends SDKModel<EventTypes> {
261261
return this.#runtimeModelInternal;
262262
}
263263

264-
async suspendModel(): Promise<void> {
264+
override async suspendModel(): Promise<void> {
265265
this.suspended = true;
266266
}
267267

268-
async resumeModel(): Promise<void> {
268+
override async resumeModel(): Promise<void> {
269269
this.suspended = false;
270270
}
271271

@@ -720,7 +720,7 @@ export class DOMEventListenerBreakpoint extends CategorizedBreakpoint {
720720
this.eventTargetNames = eventTargetNames;
721721
}
722722

723-
setEnabled(enabled: boolean): void {
723+
override setEnabled(enabled: boolean): void {
724724
if (this.enabled() === enabled) {
725725
return;
726726
}

front_end/core/sdk/DOMModel.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1536,15 +1536,15 @@ export class DOMModel extends SDKModel<EventTypes> {
15361536
return object.isNode() && object.objectId ? this.pushNodeToFrontend(object.objectId) : Promise.resolve(null);
15371537
}
15381538

1539-
suspendModel(): Promise<void> {
1539+
override suspendModel(): Promise<void> {
15401540
return this.agent.invoke_disable().then(() => this.setDocument(null));
15411541
}
15421542

1543-
async resumeModel(): Promise<void> {
1543+
override async resumeModel(): Promise<void> {
15441544
await this.agent.invoke_enable({});
15451545
}
15461546

1547-
dispose(): void {
1547+
override dispose(): void {
15481548
DOMModelUndoStack.instance().dispose(this);
15491549
}
15501550

front_end/core/sdk/DebuggerModel.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,7 @@ export class DebuggerModel extends SDKModel<EventTypes> {
886886
return !error;
887887
}
888888

889-
dispose(): void {
889+
override dispose(): void {
890890
this.#sourceMapManagerInternal.dispose();
891891
if (this.#debuggerId) {
892892
_debuggerIdToModel.delete(this.#debuggerId);
@@ -902,11 +902,11 @@ export class DebuggerModel extends SDKModel<EventTypes> {
902902
.removeChangeListener(this.asyncStackTracesStateChanged, this);
903903
}
904904

905-
async suspendModel(): Promise<void> {
905+
override async suspendModel(): Promise<void> {
906906
await this.disableDebugger();
907907
}
908908

909-
async resumeModel(): Promise<void> {
909+
override async resumeModel(): Promise<void> {
910910
await this.enableDebugger();
911911
}
912912

@@ -1128,7 +1128,7 @@ export class BreakLocation extends Location {
11281128
}
11291129
}
11301130

1131-
static fromPayload(debuggerModel: DebuggerModel, payload: Protocol.Debugger.BreakLocation): BreakLocation {
1131+
static override fromPayload(debuggerModel: DebuggerModel, payload: Protocol.Debugger.BreakLocation): BreakLocation {
11321132
return new BreakLocation(debuggerModel, payload.scriptId, payload.lineNumber, payload.columnNumber, payload.type);
11331133
}
11341134
}

front_end/core/sdk/EventBreakpointsModel.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class EventListenerBreakpoint extends CategorizedBreakpoint {
8888
this.instrumentationName = instrumentationName;
8989
}
9090

91-
setEnabled(enabled: boolean): void {
91+
override setEnabled(enabled: boolean): void {
9292
if (this.enabled() === enabled) {
9393
return;
9494
}

front_end/core/sdk/IssuesModel.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export class IssuesModel extends SDKModel<EventTypes> implements ProtocolProxyAp
3838
this.dispatchEventToListeners(Events.IssueAdded, {issuesModel: this, inspectorIssue: issueAddedEvent.issue});
3939
}
4040

41-
dispose(): void {
41+
override dispose(): void {
4242
super.dispose();
4343
this.#disposed = true;
4444
}

front_end/core/sdk/NetworkManager.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ export class NetworkManager extends SDKModel<EventTypes> {
272272
void this.#networkAgent.invoke_setCacheDisabled({cacheDisabled: enabled});
273273
}
274274

275-
dispose(): void {
275+
override dispose(): void {
276276
Common.Settings.Settings.instance()
277277
.moduleSetting('cacheDisabled')
278278
.removeChangeListener(this.cacheDisabledSettingChanged, this);

front_end/core/sdk/OverlayModel.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -224,12 +224,12 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
224224
await this.overlayAgent.invoke_setShowViewportSizeOnResize({show: this.#showViewportSizeOnResize});
225225
}
226226

227-
async suspendModel(): Promise<void> {
227+
override async suspendModel(): Promise<void> {
228228
Common.EventTarget.removeEventListeners(this.#registeredListeners);
229229
await this.overlayAgent.invoke_disable();
230230
}
231231

232-
async resumeModel(): Promise<void> {
232+
override async resumeModel(): Promise<void> {
233233
await Promise.all([this.overlayAgent.invoke_enable(), this.wireAgentToSettings()]);
234234
}
235235

front_end/core/sdk/PreloadingModel.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export class PreloadingModel extends SDKModel<EventTypes> {
5151
ResourceTreeModel, ResourceTreeModelEvents.PrimaryPageChanged, this.onPrimaryPageChanged, this);
5252
}
5353

54-
dispose(): void {
54+
override dispose(): void {
5555
super.dispose();
5656

5757
TargetManager.instance().removeModelListener(

0 commit comments

Comments
 (0)