Skip to content

Commit d7f604b

Browse files
camc314Copilot
authored andcommitted
fix(semantic): add TS1016 error code to required parameter after optional diagnostic (#16685)
I noticed this while looking at https://discord.com/channels/1079625926024900739/1448256490904354931
1 parent 8705661 commit d7f604b

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

crates/oxc_semantic/src/checker/typescript.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,7 @@ pub fn check_ts_type_alias_declaration<'a>(
104104
}
105105

106106
fn required_parameter_after_optional_parameter(span: Span) -> OxcDiagnostic {
107-
OxcDiagnostic::error("A required parameter cannot follow an optional parameter.")
108-
.with_label(span)
107+
ts_error("1016", "A required parameter cannot follow an optional parameter.").with_label(span)
109108
}
110109

111110
pub fn check_formal_parameters(params: &FormalParameters, ctx: &SemanticBuilder<'_>) {

tasks/coverage/snapshots/parser_babel.snap

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc
464464

465465
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/parameter-properties/input.ts
466466

467-
× A required parameter cannot follow an optional parameter.
467+
× TS(1016): A required parameter cannot follow an optional parameter.
468468
╭─[babel/packages/babel-parser/test/fixtures/typescript/class/parameter-properties/input.ts:7:9]
469469
6 │ private pi?: number,
470470
7 │ public readonly pur,
@@ -556,7 +556,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc
556556

557557
Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/declare-pattern-parameters/input.ts
558558

559-
× A required parameter cannot follow an optional parameter.
559+
× TS(1016): A required parameter cannot follow an optional parameter.
560560
╭─[babel/packages/babel-parser/test/fixtures/typescript/function/declare-pattern-parameters/input.ts:1:25]
561561
1 │ declare function f([]?, {})
562562
· ──
@@ -13171,7 +13171,7 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc
1317113171
╰────
1317213172
help: No modifiers are allowed here.
1317313173

13174-
× A required parameter cannot follow an optional parameter.
13174+
× TS(1016): A required parameter cannot follow an optional parameter.
1317513175
╭─[babel/packages/babel-parser/test/fixtures/typescript/class/parameter-properties-not-constructor/input.ts:7:9]
1317613176
6 │ private pi?: number,
1317713177
7 │ public readonly pur,
@@ -13447,21 +13447,21 @@ Expect to Parse: tasks/coverage/babel/packages/babel-parser/test/fixtures/typesc
1344713447
╰────
1344813448
help: No modifiers are allowed here.
1344913449

13450-
× A required parameter cannot follow an optional parameter.
13450+
× TS(1016): A required parameter cannot follow an optional parameter.
1345113451
╭─[babel/packages/babel-parser/test/fixtures/typescript/function/parameter-properties/input.ts:6:3]
1345213452
5 │ private pi?: number,
1345313453
6 │ public readonly pur,
1345413454
· ───────────────────
1345513455
7 │ readonly x = 0,
1345613456
╰────
1345713457

13458-
× A required parameter cannot follow an optional parameter.
13458+
× TS(1016): A required parameter cannot follow an optional parameter.
1345913459
╭─[babel/packages/babel-parser/test/fixtures/typescript/function/pattern-optional-parameters/input.ts:1:17]
1346013460
1 │ function f([]?, {}) {}
1346113461
· ──
1346213462
╰────
1346313463

13464-
× A required parameter cannot follow an optional parameter.
13464+
× TS(1016): A required parameter cannot follow an optional parameter.
1346513465
╭─[babel/packages/babel-parser/test/fixtures/typescript/function/pattern-optional-parameters-arrow/input.ts:1:7]
1346613466
1 │ ([]?, {}) => {}
1346713467
· ──

tasks/coverage/snapshots/parser_typescript.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6419,7 +6419,7 @@ Expect to Parse: tasks/coverage/typescript/tests/cases/conformance/parser/ecmasc
64196419
5 │
64206420
╰────
64216421

6422-
× A required parameter cannot follow an optional parameter.
6422+
× TS(1016): A required parameter cannot follow an optional parameter.
64236423
╭─[typescript/tests/cases/compiler/fatarrowfunctionsOptionalArgsErrors1.ts:1:9]
64246424
1 │ (arg1?, arg2) => 101;
64256425
· ────
@@ -22534,7 +22534,7 @@ Expect to Parse: tasks/coverage/typescript/tests/cases/conformance/parser/ecmasc
2253422534
╰────
2253522535
help: No modifiers are allowed here.
2253622536

22537-
× A required parameter cannot follow an optional parameter.
22537+
× TS(1016): A required parameter cannot follow an optional parameter.
2253822538
╭─[typescript/tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList3.ts:2:9]
2253922539
1 │ class C {
2254022540
2 │ F(A?, B) { }

0 commit comments

Comments
 (0)