Skip to content

Commit bbd3ef7

Browse files
danilsomsikovDevtools-frontend LUCI CQ
authored andcommitted
Do not replace function parameters
Bug: 400353541 Change-Id: Ia77304e4cde91b216b9e4f90bfc2fba645c576ad Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6409254 Reviewed-by: Philip Pfaffe <[email protected]> Commit-Queue: Danil Somsikov <[email protected]>
1 parent b255755 commit bbd3ef7

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

scripts/eslint_rules/lib/no-imperative-dom-api/dom-fragment.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,11 @@ class DomFragment {
5454
} else {
5555
result.references = key.references.filter(r => !key.identifiers.includes(r.identifier))
5656
.map(r => ({node: /** @type {EsLintNode} */ (r.identifier)}));
57-
result.initializer = /** @type {EsLintNode} */ (key.identifiers[0]);
58-
result.replacementLocation = result.initializer.parent;
57+
const initializer = /** @type {EsLintNode} */ (key.identifiers[0]);
58+
if (initializer?.parent?.type === 'VariableDeclarator') {
59+
result.initializer = initializer;
60+
}
61+
result.replacementLocation = result.initializer?.parent;
5962
result.expression = key.name;
6063
}
6164
}

scripts/eslint_rules/tests/no-imperative-dom-api.test.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -406,10 +406,12 @@ class SomeWidget extends UI.Widget.Widget {
406406
filename: 'front_end/ui/components/component/file.ts',
407407
code: `
408408
class SomeWidget extends UI.Widget.Widget {
409-
constructor(label: HTMLElement) {
409+
constructor(label: HTMLElement, details: HTMLElement) {
410410
super();
411411
this.contentElement.appendChild(label);
412412
label.addEventListener('click', () => this.doSomething.bind(this));
413+
this.contentElement.appendChild(details);
414+
details.createChild('span');
413415
}
414416
}`,
415417
output: `
@@ -418,14 +420,16 @@ export const DEFAULT_VIEW = (input, _output, target) => {
418420
render(html\`
419421
<div>
420422
\${label}
423+
\${details}
421424
</div>\`,
422425
target, {host: input});
423426
};
424427
425428
class SomeWidget extends UI.Widget.Widget {
426-
constructor(label: HTMLElement) {
429+
constructor(label: HTMLElement, details: HTMLElement) {
427430
super();
428431
label.addEventListener('click', () => this.doSomething.bind(this));
432+
details.createChild('span');
429433
}
430434
}`,
431435
errors: [{messageId: 'preferTemplateLiterals'}],

0 commit comments

Comments
 (0)