Skip to content

Commit 6085a78

Browse files
committed
Remove extra not null assertions
With microsoft/TypeScript#56908, TS should better preserve type refinements. To help test this out, I made a quick pass through our code to remove type assertions that are no longer needed Most of these are not impacted by microsoft/TypeScript#56908 but removing them helps TS test changes like this Not adding an eslint rule for now as it requires whole program intellisense, which is too slow for commit hooks
1 parent 0bb69da commit 6085a78

File tree

179 files changed

+534
-536
lines changed

Some content is hidden

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

179 files changed

+534
-536
lines changed

src/vs/base/browser/formattedTextRenderer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ function _renderFormattedText(element: Node, treeNode: IFormatParseTree, actionH
118118

119119
if (child && Array.isArray(treeNode.children)) {
120120
treeNode.children.forEach((nodeChild) => {
121-
_renderFormattedText(child!, nodeChild, actionHandler, renderCodeSegments);
121+
_renderFormattedText(child, nodeChild, actionHandler, renderCodeSegments);
122122
});
123123
}
124124
}

src/vs/base/browser/ui/contextview/contextview.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -253,9 +253,7 @@ export class ContextView extends Disposable {
253253
return;
254254
}
255255

256-
if (this.delegate!.layout) {
257-
this.delegate!.layout!();
258-
}
256+
this.delegate?.layout?.();
259257

260258
this.doLayout();
261259
}

src/vs/base/browser/ui/list/listView.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ export class NativeDragAndDropData implements IDragAndDropData {
182182

183183
function equalsDragFeedback(f1: number[] | undefined, f2: number[] | undefined): boolean {
184184
if (Array.isArray(f1) && Array.isArray(f2)) {
185-
return equals(f1, f2!);
185+
return equals(f1, f2);
186186
}
187187

188188
return f1 === f2;
@@ -909,7 +909,7 @@ export class ListView<T> implements IListView<T> {
909909
const checked = this.accessibilityProvider.isChecked(item.element);
910910

911911
if (typeof checked === 'boolean') {
912-
item.row!.domNode.setAttribute('aria-checked', String(!!checked));
912+
item.row.domNode.setAttribute('aria-checked', String(!!checked));
913913
} else if (checked) {
914914
const update = (checked: boolean) => item.row!.domNode.setAttribute('aria-checked', String(!!checked));
915915
update(checked.value);

src/vs/base/browser/ui/tree/abstractTree.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1534,7 +1534,7 @@ class StickyScrollWidget<T, TFilterData, TRef> implements IDisposable {
15341534
const isVisible = !!state && state.count > 0;
15351535

15361536
// If state has not changed, do nothing
1537-
if ((!wasVisible && !isVisible) || (wasVisible && isVisible && this._previousState!.equal(state!))) {
1537+
if ((!wasVisible && !isVisible) || (wasVisible && isVisible && this._previousState!.equal(state))) {
15381538
return;
15391539
}
15401540

@@ -2468,7 +2468,7 @@ export abstract class AbstractTree<T, TFilterData, TRef> implements IDisposable
24682468
this.findController = new FindController(this, this.model, this.view, filter!, _options.contextViewProvider, opts);
24692469
this.focusNavigationFilter = node => this.findController!.shouldAllowFocus(node);
24702470
this.onDidChangeFindOpenState = this.findController.onDidChangeOpenState;
2471-
this.disposables.add(this.findController!);
2471+
this.disposables.add(this.findController);
24722472
this.onDidChangeFindMode = this.findController.onDidChangeMode;
24732473
this.onDidChangeFindMatchType = this.findController.onDidChangeMatchType;
24742474
} else {
@@ -2877,7 +2877,7 @@ export abstract class AbstractTree<T, TFilterData, TRef> implements IDisposable
28772877
const node = queue.shift()!;
28782878

28792879
if (node !== root && node.collapsible) {
2880-
state.expanded[getId(node.element!)] = node.collapsed ? 0 : 1;
2880+
state.expanded[getId(node.element)] = node.collapsed ? 0 : 1;
28812881
}
28822882

28832883
queue.push(...node.children);

src/vs/base/browser/ui/tree/asyncDataTree.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -239,10 +239,10 @@ function asObjectTreeOptions<TInput, T, TFilterData>(options?: IAsyncDataTreeOpt
239239
...options.accessibilityProvider,
240240
getPosInSet: undefined,
241241
getSetSize: undefined,
242-
getRole: options.accessibilityProvider!.getRole ? (el) => {
242+
getRole: options.accessibilityProvider.getRole ? (el) => {
243243
return options.accessibilityProvider!.getRole!(el.element as T);
244244
} : () => 'treeitem',
245-
isChecked: options.accessibilityProvider!.isChecked ? (e) => {
245+
isChecked: options.accessibilityProvider.isChecked ? (e) => {
246246
return !!(options.accessibilityProvider?.isChecked!(e.element as T));
247247
} : undefined,
248248
getAriaLabel(e) {
@@ -251,8 +251,8 @@ function asObjectTreeOptions<TInput, T, TFilterData>(options?: IAsyncDataTreeOpt
251251
getWidgetAriaLabel() {
252252
return options.accessibilityProvider!.getWidgetAriaLabel();
253253
},
254-
getWidgetRole: options.accessibilityProvider!.getWidgetRole ? () => options.accessibilityProvider!.getWidgetRole!() : () => 'tree',
255-
getAriaLevel: options.accessibilityProvider!.getAriaLevel && (node => {
254+
getWidgetRole: options.accessibilityProvider.getWidgetRole ? () => options.accessibilityProvider!.getWidgetRole!() : () => 'tree',
255+
getAriaLevel: options.accessibilityProvider.getAriaLevel && (node => {
256256
return options.accessibilityProvider!.getAriaLevel!(node.element as T);
257257
}),
258258
getActiveDescendantId: options.accessibilityProvider.getActiveDescendantId && (node => {
@@ -825,7 +825,7 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
825825
const treeNode = this.tree.getNode(node);
826826

827827
if (treeNode.collapsed) {
828-
node.hasChildren = !!this.dataSource.hasChildren(node.element!);
828+
node.hasChildren = !!this.dataSource.hasChildren(node.element);
829829
node.stale = true;
830830
return;
831831
}
@@ -855,7 +855,7 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
855855
}
856856

857857
private async doRefreshNode(node: IAsyncDataTreeNode<TInput, T>, recursive: boolean, viewStateContext?: IAsyncDataTreeViewStateContext<TInput, T>): Promise<IAsyncDataTreeNode<TInput, T>[]> {
858-
node.hasChildren = !!this.dataSource.hasChildren(node.element!);
858+
node.hasChildren = !!this.dataSource.hasChildren(node.element);
859859

860860
let childrenPromise: Promise<Iterable<T>>;
861861

@@ -904,7 +904,7 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
904904
if (result) {
905905
return result;
906906
}
907-
const children = this.dataSource.getChildren(node.element!);
907+
const children = this.dataSource.getChildren(node.element);
908908
if (isIterable(children)) {
909909
return this.processChildren(children);
910910
} else {
@@ -1033,9 +1033,9 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
10331033
const children = node.children.map(node => this.asTreeElement(node, viewStateContext));
10341034
const objectTreeOptions: IObjectTreeSetChildrenOptions<IAsyncDataTreeNode<TInput, T>> | undefined = options && {
10351035
...options,
1036-
diffIdentityProvider: options!.diffIdentityProvider && {
1036+
diffIdentityProvider: options.diffIdentityProvider && {
10371037
getId(node: IAsyncDataTreeNode<TInput, T>): { toString(): string } {
1038-
return options!.diffIdentityProvider!.getId(node.element as T);
1038+
return options.diffIdentityProvider!.getId(node.element as T);
10391039
}
10401040
}
10411041
};
@@ -1210,7 +1210,7 @@ function asCompressibleObjectTreeOptions<TInput, T, TFilterData>(options?: IComp
12101210
keyboardNavigationLabelProvider: objectTreeOptions.keyboardNavigationLabelProvider && {
12111211
...objectTreeOptions.keyboardNavigationLabelProvider,
12121212
getCompressedNodeKeyboardNavigationLabel(els) {
1213-
return options!.keyboardNavigationLabelProvider!.getCompressedNodeKeyboardNavigationLabel(els.map(e => e.element as T));
1213+
return options.keyboardNavigationLabelProvider!.getCompressedNodeKeyboardNavigationLabel(els.map(e => e.element as T));
12141214
}
12151215
}
12161216
};

src/vs/base/common/decorators.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export function memoize(_target: any, key: string, descriptor: any) {
5151
configurable: false,
5252
enumerable: false,
5353
writable: false,
54-
value: fn!.apply(this, args)
54+
value: fn.apply(this, args)
5555
});
5656
}
5757

src/vs/base/common/lifecycle.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -653,8 +653,8 @@ export abstract class ReferenceCollection<T> {
653653

654654
const { object } = reference;
655655
const dispose = createSingleCallFunction(() => {
656-
if (--reference!.counter === 0) {
657-
this.destroyReferencedObject(key, reference!.object);
656+
if (--reference.counter === 0) {
657+
this.destroyReferencedObject(key, reference.object);
658658
this.references.delete(key);
659659
}
660660
});

src/vs/base/common/linkedList.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export class LinkedList<E> {
6262

6363
} else if (atTheEnd) {
6464
// push
65-
const oldLast = this._last!;
65+
const oldLast = this._last;
6666
this._last = newNode;
6767
newNode.prev = oldLast;
6868
oldLast.next = newNode;
@@ -119,12 +119,12 @@ export class LinkedList<E> {
119119

120120
} else if (node.next === Node.Undefined) {
121121
// last
122-
this._last = this._last!.prev!;
122+
this._last = this._last.prev!;
123123
this._last.next = Node.Undefined;
124124

125125
} else if (node.prev === Node.Undefined) {
126126
// first
127-
this._first = this._first!.next!;
127+
this._first = this._first.next!;
128128
this._first.prev = Node.Undefined;
129129
}
130130

src/vs/base/common/ternarySearchTree.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ export class TernarySearchTree<K, V> {
552552
const min = this._min(node.right);
553553
if (min.key) {
554554
const { key, value, segment } = min;
555-
this._delete(min.key!, false);
555+
this._delete(min.key, false);
556556
node.key = key;
557557
node.value = value;
558558
node.segment = segment;

src/vs/base/test/browser/ui/menu/menubar.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ function validateMenuBarItem(menubar: MenuBar, menubarContainer: HTMLElement, la
5353
const buttonElement = getButtonElementByAriaLabel(menubarContainer, readableLabel);
5454
assert(buttonElement !== null, `Button element not found for ${readableLabel} button.`);
5555

56-
const titleDiv = getTitleDivFromButtonDiv(buttonElement!);
56+
const titleDiv = getTitleDivFromButtonDiv(buttonElement);
5757
assert(titleDiv !== null, `Title div not found for ${readableLabel} button.`);
5858

59-
const mnem = getMnemonicFromTitleDiv(titleDiv!);
59+
const mnem = getMnemonicFromTitleDiv(titleDiv);
6060
assert.strictEqual(mnem, mnemonic, 'Mnemonic not correct');
6161
}
6262

src/vs/base/test/common/fuzzyScorer.test.ts

+37-37
Original file line numberDiff line numberDiff line change
@@ -199,12 +199,12 @@ suite('Fuzzy Scorer', () => {
199199
assert.ok(pathRes.score);
200200
assert.ok(pathRes.descriptionMatch);
201201
assert.ok(pathRes.labelMatch);
202-
assert.strictEqual(pathRes.labelMatch!.length, 1);
203-
assert.strictEqual(pathRes.labelMatch![0].start, 8);
204-
assert.strictEqual(pathRes.labelMatch![0].end, 11);
205-
assert.strictEqual(pathRes.descriptionMatch!.length, 1);
206-
assert.strictEqual(pathRes.descriptionMatch![0].start, 1);
207-
assert.strictEqual(pathRes.descriptionMatch![0].end, 4);
202+
assert.strictEqual(pathRes.labelMatch.length, 1);
203+
assert.strictEqual(pathRes.labelMatch[0].start, 8);
204+
assert.strictEqual(pathRes.labelMatch[0].end, 11);
205+
assert.strictEqual(pathRes.descriptionMatch.length, 1);
206+
assert.strictEqual(pathRes.descriptionMatch[0].start, 1);
207+
assert.strictEqual(pathRes.descriptionMatch[0].end, 4);
208208

209209
// No Match
210210
const noRes = scoreItem(resource, '987', true, ResourceAccessor);
@@ -232,41 +232,41 @@ suite('Fuzzy Scorer', () => {
232232
const res1 = scoreItem(resource, 'xyz some', true, ResourceAccessor);
233233
assert.ok(res1.score);
234234
assert.strictEqual(res1.labelMatch?.length, 1);
235-
assert.strictEqual(res1.labelMatch![0].start, 0);
236-
assert.strictEqual(res1.labelMatch![0].end, 4);
235+
assert.strictEqual(res1.labelMatch[0].start, 0);
236+
assert.strictEqual(res1.labelMatch[0].end, 4);
237237
assert.strictEqual(res1.descriptionMatch?.length, 1);
238-
assert.strictEqual(res1.descriptionMatch![0].start, 1);
239-
assert.strictEqual(res1.descriptionMatch![0].end, 4);
238+
assert.strictEqual(res1.descriptionMatch[0].start, 1);
239+
assert.strictEqual(res1.descriptionMatch[0].end, 4);
240240

241241
const res2 = scoreItem(resource, 'some xyz', true, ResourceAccessor);
242242
assert.ok(res2.score);
243243
assert.strictEqual(res1.score, res2.score);
244244
assert.strictEqual(res2.labelMatch?.length, 1);
245-
assert.strictEqual(res2.labelMatch![0].start, 0);
246-
assert.strictEqual(res2.labelMatch![0].end, 4);
245+
assert.strictEqual(res2.labelMatch[0].start, 0);
246+
assert.strictEqual(res2.labelMatch[0].end, 4);
247247
assert.strictEqual(res2.descriptionMatch?.length, 1);
248-
assert.strictEqual(res2.descriptionMatch![0].start, 1);
249-
assert.strictEqual(res2.descriptionMatch![0].end, 4);
248+
assert.strictEqual(res2.descriptionMatch[0].start, 1);
249+
assert.strictEqual(res2.descriptionMatch[0].end, 4);
250250

251251
const res3 = scoreItem(resource, 'some xyz file file123', true, ResourceAccessor);
252252
assert.ok(res3.score);
253253
assert.ok(res3.score > res2.score);
254254
assert.strictEqual(res3.labelMatch?.length, 1);
255-
assert.strictEqual(res3.labelMatch![0].start, 0);
256-
assert.strictEqual(res3.labelMatch![0].end, 11);
255+
assert.strictEqual(res3.labelMatch[0].start, 0);
256+
assert.strictEqual(res3.labelMatch[0].end, 11);
257257
assert.strictEqual(res3.descriptionMatch?.length, 1);
258-
assert.strictEqual(res3.descriptionMatch![0].start, 1);
259-
assert.strictEqual(res3.descriptionMatch![0].end, 4);
258+
assert.strictEqual(res3.descriptionMatch[0].start, 1);
259+
assert.strictEqual(res3.descriptionMatch[0].end, 4);
260260

261261
const res4 = scoreItem(resource, 'path z y', true, ResourceAccessor);
262262
assert.ok(res4.score);
263263
assert.ok(res4.score < res2.score);
264264
assert.strictEqual(res4.labelMatch?.length, 0);
265265
assert.strictEqual(res4.descriptionMatch?.length, 2);
266-
assert.strictEqual(res4.descriptionMatch![0].start, 2);
267-
assert.strictEqual(res4.descriptionMatch![0].end, 4);
268-
assert.strictEqual(res4.descriptionMatch![1].start, 10);
269-
assert.strictEqual(res4.descriptionMatch![1].end, 14);
266+
assert.strictEqual(res4.descriptionMatch[0].start, 2);
267+
assert.strictEqual(res4.descriptionMatch[0].end, 4);
268+
assert.strictEqual(res4.descriptionMatch[1].start, 10);
269+
assert.strictEqual(res4.descriptionMatch[1].end, 14);
270270
});
271271

272272
test('scoreItem - multiple with cache yields different results', function () {
@@ -299,12 +299,12 @@ suite('Fuzzy Scorer', () => {
299299
assert.ok(pathRes.score);
300300
assert.ok(pathRes.descriptionMatch);
301301
assert.ok(pathRes.labelMatch);
302-
assert.strictEqual(pathRes.labelMatch!.length, 1);
303-
assert.strictEqual(pathRes.labelMatch![0].start, 0);
304-
assert.strictEqual(pathRes.labelMatch![0].end, 7);
305-
assert.strictEqual(pathRes.descriptionMatch!.length, 1);
306-
assert.strictEqual(pathRes.descriptionMatch![0].start, 23);
307-
assert.strictEqual(pathRes.descriptionMatch![0].end, 26);
302+
assert.strictEqual(pathRes.labelMatch.length, 1);
303+
assert.strictEqual(pathRes.labelMatch[0].start, 0);
304+
assert.strictEqual(pathRes.labelMatch[0].end, 7);
305+
assert.strictEqual(pathRes.descriptionMatch.length, 1);
306+
assert.strictEqual(pathRes.descriptionMatch[0].start, 23);
307+
assert.strictEqual(pathRes.descriptionMatch[0].end, 26);
308308
});
309309

310310
test('scoreItem - avoid match scattering (bug #36119)', function () {
@@ -314,9 +314,9 @@ suite('Fuzzy Scorer', () => {
314314
assert.ok(pathRes.score);
315315
assert.ok(pathRes.descriptionMatch);
316316
assert.ok(pathRes.labelMatch);
317-
assert.strictEqual(pathRes.labelMatch!.length, 1);
318-
assert.strictEqual(pathRes.labelMatch![0].start, 0);
319-
assert.strictEqual(pathRes.labelMatch![0].end, 9);
317+
assert.strictEqual(pathRes.labelMatch.length, 1);
318+
assert.strictEqual(pathRes.labelMatch[0].start, 0);
319+
assert.strictEqual(pathRes.labelMatch[0].end, 9);
320320
});
321321

322322
test('scoreItem - prefers more compact matches', function () {
@@ -328,11 +328,11 @@ suite('Fuzzy Scorer', () => {
328328
assert.ok(res.score);
329329
assert.ok(res.descriptionMatch);
330330
assert.ok(!res.labelMatch!.length);
331-
assert.strictEqual(res.descriptionMatch!.length, 2);
332-
assert.strictEqual(res.descriptionMatch![0].start, 11);
333-
assert.strictEqual(res.descriptionMatch![0].end, 12);
334-
assert.strictEqual(res.descriptionMatch![1].start, 13);
335-
assert.strictEqual(res.descriptionMatch![1].end, 14);
331+
assert.strictEqual(res.descriptionMatch.length, 2);
332+
assert.strictEqual(res.descriptionMatch[0].start, 11);
333+
assert.strictEqual(res.descriptionMatch[0].end, 12);
334+
assert.strictEqual(res.descriptionMatch[1].start, 13);
335+
assert.strictEqual(res.descriptionMatch[1].end, 14);
336336
});
337337

338338
test('scoreItem - proper target offset', function () {
@@ -1121,7 +1121,7 @@ suite('Fuzzy Scorer', () => {
11211121
assert.strictEqual(query.values?.[1].normalized, 'World');
11221122
assert.strictEqual(query.values?.[1].normalizedLowercase, 'World'.toLowerCase());
11231123

1124-
const restoredQuery = pieceToQuery(query.values!);
1124+
const restoredQuery = pieceToQuery(query.values);
11251125
assert.strictEqual(restoredQuery.original, query.original);
11261126
assert.strictEqual(restoredQuery.values?.length, query.values?.length);
11271127
assert.strictEqual(restoredQuery.containsPathSeparator, query.containsPathSeparator);

src/vs/base/test/common/troubleshooting.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export function beginTrackingDisposables(): void {
4141
export function endTrackingDisposables(): void {
4242
if (currentTracker) {
4343
setDisposableTracker(null);
44-
console.log(currentTracker!.allDisposables.map(e => `${e[0]}\n${e[1]}`).join('\n\n'));
44+
console.log(currentTracker.allDisposables.map(e => `${e[0]}\n${e[1]}`).join('\n\n'));
4545
currentTracker = null;
4646
}
4747
}

src/vs/code/browser/workbench/workbench.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,9 @@ export class LocalStorageSecretStorageProvider implements ISecretStorageProvider
221221

222222
const authAccount = JSON.stringify({ extensionId: 'vscode.github-authentication', key: 'github.auth' });
223223
record[authAccount] = JSON.stringify(authSessionInfo.scopes.map(scopes => ({
224-
id: authSessionInfo!.id,
224+
id: authSessionInfo.id,
225225
scopes,
226-
accessToken: authSessionInfo!.accessToken
226+
accessToken: authSessionInfo.accessToken
227227
})));
228228

229229
return record;

src/vs/editor/browser/editorExtensions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ export abstract class EditorAction2 extends Action2 {
466466
logService.debug(`[EditorAction2] NOT running command because its precondition is FALSE`, this.desc.id, this.desc.precondition?.serialize());
467467
return;
468468
}
469-
return this.runEditorCommand(editorAccessor, editor!, ...args);
469+
return this.runEditorCommand(editorAccessor, editor, ...args);
470470
});
471471
}
472472

src/vs/editor/browser/services/hoverService.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export class HoverService implements IHoverService {
6666
hover.isLocked = true;
6767
}
6868
hover.onDispose(() => {
69-
const hoverWasFocused = this._currentHover?.domNode && isAncestorOfActiveElement(this._currentHover.domNode!);
69+
const hoverWasFocused = this._currentHover?.domNode && isAncestorOfActiveElement(this._currentHover.domNode);
7070
if (hoverWasFocused) {
7171
// Required to handle cases such as closing the hover with the escape key
7272
this._lastFocusedElementBeforeOpen?.focus();

src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ export class ViewOverlayWidgets extends ViewPart {
173173
const fixedOverflowWidgets = this._context.configuration.options.get(EditorOption.fixedOverflowWidgets);
174174
if (fixedOverflowWidgets && widgetData.widget.allowEditorOverflow) {
175175
// top, left are computed relative to the editor and we need them relative to the page
176-
const editorBoundingBox = this._viewDomNodeRect!;
176+
const editorBoundingBox = this._viewDomNodeRect;
177177
domNode.setTop(top + editorBoundingBox.top);
178178
domNode.setLeft(left + editorBoundingBox.left);
179179
domNode.setPosition('fixed');

src/vs/editor/common/config/editorOptions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2003,7 +2003,7 @@ class EditorGoToLocation extends BaseEditorOption<EditorOption.gotoLocation, IGo
20032003
}
20042004
const input = _input as IGotoLocationOptions;
20052005
return {
2006-
multiple: stringSet<GoToLocationValues>(input.multiple, this.defaultValue.multiple!, ['peek', 'gotoAndPeek', 'goto']),
2006+
multiple: stringSet<GoToLocationValues>(input.multiple, this.defaultValue.multiple, ['peek', 'gotoAndPeek', 'goto']),
20072007
multipleDefinitions: input.multipleDefinitions ?? stringSet<GoToLocationValues>(input.multipleDefinitions, 'peek', ['peek', 'gotoAndPeek', 'goto']),
20082008
multipleTypeDefinitions: input.multipleTypeDefinitions ?? stringSet<GoToLocationValues>(input.multipleTypeDefinitions, 'peek', ['peek', 'gotoAndPeek', 'goto']),
20092009
multipleDeclarations: input.multipleDeclarations ?? stringSet<GoToLocationValues>(input.multipleDeclarations, 'peek', ['peek', 'gotoAndPeek', 'goto']),

0 commit comments

Comments
 (0)