Skip to content

linter: fix all bugs in getter-return and promote to correctness #2312

@Boshen

Description

@Boshen

getter-return is rewritten with cfg, but it is buggy

  ⚠ eslint(getter-return): Expected to always return a value in getter.
     ╭─[vscode/src/vs/workbench/services/themes/common/colorThemeData.ts:578:13]
 577 │
 578 │ ╭─▶     get type(): ColorScheme {
 579 │ │           switch (this.baseTheme) {
 580 │ │               case VS_LIGHT_THEME: return ColorScheme.LIGHT;
 581 │ │               case VS_HC_THEME: return ColorScheme.HIGH_CONTRAST_DARK;
 582 │ │               case VS_HC_LIGHT_THEME: return ColorScheme.HIGH_CONTRAST_LIGHT;
 583 │ │               default: return ColorScheme.DARK;
 584 │ │           }
 585 │ ╰─▶     }
 586 │
     ╰────
  help: Return a value from all code paths in getter.
  ⚠ eslint(getter-return): Expected to always return a value in getter.
    ╭─[vscode/src/vs/workbench/browser/window.ts:83:82]
 82 │         const originalClearTimeout = targetWindow.clearTimeout;
 83 │         Object.defineProperty(targetWindow, 'vscodeOriginalClearTimeout', { get: () => originalClearTimeout });
    ·                                                                                  ──────────────────────────
 84 │
    ╰────
  help: Return a value from all code paths in getter.
  ⚠ eslint(getter-return): Expected to always return a value in getter.
    ╭─[vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.ts:52:23]
 51 │
 52 │ ╭─▶     get preferredWidth(): number | undefined {
 53 │ │           const activeComposite = this.getActivePaneComposite();
 54 │ │
 55 │ │           if (!activeComposite) {
 56 │ │               return;
 57 │ │           }
 58 │ │
 59 │ │           const width = activeComposite.getOptimalWidth();
 60 │ │           if (typeof width !== 'number') {
 61 │ │               return;
 62 │ │           }
 63 │ │
 64 │ │           return Math.max(width, 300);
 65 │ ╰─▶     }
 66 │
    ╰────
  help: Return a value from all code paths in getter.

cc @camc314 @TzviPM

Metadata

Metadata

Assignees

Labels

Type

No type

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions