diff --git a/tests/baselines/reference/inlayHintsShouldWork44.baseline b/tests/baselines/reference/inlayHintsEnumMemberValue.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork44.baseline
rename to tests/baselines/reference/inlayHintsEnumMemberValue.baseline
diff --git a/tests/baselines/reference/inlayHintsFunctionParameterTypes1.baseline b/tests/baselines/reference/inlayHintsFunctionParameterTypes1.baseline
new file mode 100644
index 0000000000000..31c95617ae2ce
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsFunctionParameterTypes1.baseline
@@ -0,0 +1,80 @@
+const f1: F1 = (a, b) => { }
+ ^
+{
+ "text": ": string",
+ "position": 58,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+const f1: F1 = (a, b) => { }
+ ^
+{
+ "text": ": number",
+ "position": 61,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+const f2: F1 = (a, b: number) => { }
+ ^
+{
+ "text": ": string",
+ "position": 87,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+foo1((a) => { })
+ ^
+{
+ "text": ": string",
+ "position": 157,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+foo2((a) => { })
+ ^
+{
+ "text": ": 2 | 3",
+ "position": 232,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+foo3(a => {
+ ^
+{
+ "text": ": (c: (d: 2 | 3) => void) => ...",
+ "position": 331,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+ a(d => {})
+ ^
+{
+ "text": ": 2 | 3",
+ "position": 344,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+foo4(1, a => { })
+ ^
+{
+ "text": ": number",
+ "position": 409,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+const foo5: F2 = (a) => { }
+ ^
+{
+ "text": ": { a: number; b: string; }",
+ "position": 492,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork10.baseline b/tests/baselines/reference/inlayHintsFunctionParameterTypes2.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork10.baseline
rename to tests/baselines/reference/inlayHintsFunctionParameterTypes2.baseline
diff --git a/tests/baselines/reference/inlayHintsFunctionParameterTypes3.baseline b/tests/baselines/reference/inlayHintsFunctionParameterTypes3.baseline
new file mode 100644
index 0000000000000..33923495c7bbd
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsFunctionParameterTypes3.baseline
@@ -0,0 +1,17 @@
+ bar: function (x?): void {
+ ^
+{
+ "text": ": boolean",
+ "position": 87,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+ set foo(value) { this.#value = value; }
+ ^
+{
+ "text": ": number",
+ "position": 250,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork14.baseline b/tests/baselines/reference/inlayHintsFunctionParameterTypes4.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork14.baseline
rename to tests/baselines/reference/inlayHintsFunctionParameterTypes4.baseline
diff --git a/tests/baselines/reference/inlayHintsShouldWork15.baseline b/tests/baselines/reference/inlayHintsImportType1.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork15.baseline
rename to tests/baselines/reference/inlayHintsImportType1.baseline
diff --git a/tests/baselines/reference/inlayHintsShouldWork46.baseline b/tests/baselines/reference/inlayHintsImportType2.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork46.baseline
rename to tests/baselines/reference/inlayHintsImportType2.baseline
diff --git a/tests/baselines/reference/inlayHintsShouldWork64.baseline b/tests/baselines/reference/inlayHintsInteractiveOverloadCall.baseline
similarity index 56%
rename from tests/baselines/reference/inlayHintsShouldWork64.baseline
rename to tests/baselines/reference/inlayHintsInteractiveOverloadCall.baseline
index 3b0b481bfe47f..10df249d87895 100644
--- a/tests/baselines/reference/inlayHintsShouldWork64.baseline
+++ b/tests/baselines/reference/inlayHintsInteractiveOverloadCall.baseline
@@ -1,18 +1,18 @@
- "hello",
- ^
+call(1);
+ ^
{
"text": "",
- "position": 183,
+ "position": 131,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "a",
"span": {
- "start": 18,
+ "start": 22,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -20,21 +20,21 @@
]
}
- undefined,
- ^
+call(1, 2);
+ ^
{
"text": "",
- "position": 196,
+ "position": 140,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "b",
"span": {
- "start": 33,
+ "start": 44,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -42,21 +42,21 @@
]
}
- null,
- ^
+call(1, 2);
+ ^
{
"text": "",
- "position": 211,
+ "position": 143,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "c",
"span": {
- "start": 51,
+ "start": 55,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -64,21 +64,21 @@
]
}
- true,
- ^
+new call(1);
+ ^
{
"text": "",
- "position": 221,
+ "position": 156,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "d",
"span": {
- "start": 64,
+ "start": 81,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -86,21 +86,21 @@
]
}
- false,
+foo(1)
^
{
"text": "",
- "position": 231,
+ "position": 326,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "e",
+ "text": "w",
"span": {
- "start": 80,
+ "start": 181,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -108,21 +108,21 @@
]
}
- Infinity,
+foo(1, 2)
^
{
"text": "",
- "position": 242,
+ "position": 333,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "f",
+ "text": "a",
"span": {
- "start": 96,
+ "start": 219,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -130,21 +130,21 @@
]
}
- -Infinity,
- ^
+foo(1, 2)
+ ^
{
"text": "",
- "position": 256,
+ "position": 336,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "g",
+ "text": "b",
"span": {
- "start": 111,
+ "start": 230,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -152,21 +152,21 @@
]
}
- NaN,
- ^
+new Class(1)
+ ^
{
"text": "",
- "position": 271,
+ "position": 475,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "h",
+ "text": "a",
"span": {
- "start": 126,
+ "start": 369,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -174,21 +174,21 @@
]
}
- /hello/g,
- ^
+new Class(1, 2)
+ ^
{
"text": "",
- "position": 280,
+ "position": 488,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "i",
+ "text": "b",
"span": {
- "start": 141,
+ "start": 397,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
@@ -196,21 +196,21 @@
]
}
- 123n,
- ^
+new Class(1, 2)
+ ^
{
"text": "",
- "position": 294,
+ "position": 491,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "j",
+ "text": "c",
"span": {
- "start": 156,
+ "start": 408,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork64.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts"
},
{
"text": ":"
diff --git a/tests/baselines/reference/inlayHintsInteractiveParameterNames.baseline b/tests/baselines/reference/inlayHintsInteractiveParameterNames.baseline
new file mode 100644
index 0000000000000..b6ab7a563a21e
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsInteractiveParameterNames.baseline
@@ -0,0 +1,461 @@
+ foo1(1, 2);
+ ^
+{
+ "text": "",
+ "position": 47,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 16,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo1(1, 2);
+ ^
+{
+ "text": "",
+ "position": 50,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "b",
+ "span": {
+ "start": 27,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo2(1, { c: 1 });
+ ^
+{
+ "text": "",
+ "position": 102,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 70,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+const C1 = class extends foo3(1) { }
+ ^
+{
+ "text": "",
+ "position": 180,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 130,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+class C2 extends foo3(1) { }
+ ^
+{
+ "text": "",
+ "position": 209,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 130,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+foo4(1, +1, -1, +"1");
+ ^
+{
+ "text": "",
+ "position": 282,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 230,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+foo4(1, +1, -1, +"1");
+ ^
+{
+ "text": "",
+ "position": 285,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "b",
+ "span": {
+ "start": 241,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+foo4(1, +1, -1, +"1");
+ ^
+{
+ "text": "",
+ "position": 289,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "c",
+ "span": {
+ "start": 252,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+foo4(1, +1, -1, +"1");
+ ^
+{
+ "text": "",
+ "position": 293,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "d",
+ "span": {
+ "start": 263,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ "hello",
+ ^
+{
+ "text": "",
+ "position": 484,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 319,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ undefined,
+ ^
+{
+ "text": "",
+ "position": 497,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "b",
+ "span": {
+ "start": 334,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ null,
+ ^
+{
+ "text": "",
+ "position": 512,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "c",
+ "span": {
+ "start": 352,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ true,
+ ^
+{
+ "text": "",
+ "position": 522,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "d",
+ "span": {
+ "start": 365,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ false,
+ ^
+{
+ "text": "",
+ "position": 532,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "e",
+ "span": {
+ "start": 381,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ Infinity,
+ ^
+{
+ "text": "",
+ "position": 543,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "f",
+ "span": {
+ "start": 397,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ -Infinity,
+ ^
+{
+ "text": "",
+ "position": 557,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "g",
+ "span": {
+ "start": 412,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ NaN,
+ ^
+{
+ "text": "",
+ "position": 572,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "h",
+ "span": {
+ "start": 427,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ /hello/g,
+ ^
+{
+ "text": "",
+ "position": 581,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "i",
+ "span": {
+ "start": 442,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ 123n,
+ ^
+{
+ "text": "",
+ "position": 595,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "j",
+ "span": {
+ "start": 457,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+trace(`${1}`);
+ ^
+{
+ "text": "",
+ "position": 694,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "message",
+ "span": {
+ "start": 668,
+ "length": 7
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+trace(``);
+ ^
+{
+ "text": "",
+ "position": 709,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "message",
+ "span": {
+ "start": 668,
+ "length": 7
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork32.baseline b/tests/baselines/reference/inlayHintsInteractiveParameterNamesInSpan1.baseline
similarity index 77%
rename from tests/baselines/reference/inlayHintsShouldWork32.baseline
rename to tests/baselines/reference/inlayHintsInteractiveParameterNamesInSpan1.baseline
index ae2a23eb09dc1..966225e43a31b 100644
--- a/tests/baselines/reference/inlayHintsShouldWork32.baseline
+++ b/tests/baselines/reference/inlayHintsInteractiveParameterNamesInSpan1.baseline
@@ -12,7 +12,7 @@ function c2 () { foo2(1, 2); }
"start": 55,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork32.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan1.ts"
},
{
"text": ":"
@@ -34,7 +34,7 @@ function c2 () { foo2(1, 2); }
"start": 66,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork32.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan1.ts"
},
{
"text": ":"
@@ -56,7 +56,7 @@ function c3 () { foo3(1, 2); }
"start": 95,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork32.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan1.ts"
},
{
"text": ":"
@@ -78,7 +78,7 @@ function c3 () { foo3(1, 2); }
"start": 106,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork32.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan1.ts"
},
{
"text": ":"
@@ -100,7 +100,7 @@ function c4 () { foo4(1, 2); }
"start": 135,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork32.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan1.ts"
},
{
"text": ":"
@@ -122,7 +122,7 @@ function c4 () { foo4(1, 2); }
"start": 146,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork32.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan1.ts"
},
{
"text": ":"
diff --git a/tests/baselines/reference/inlayHintsShouldWork33.baseline b/tests/baselines/reference/inlayHintsInteractiveParameterNamesInSpan2.baseline
similarity index 75%
rename from tests/baselines/reference/inlayHintsShouldWork33.baseline
rename to tests/baselines/reference/inlayHintsInteractiveParameterNamesInSpan2.baseline
index f64b6f03927d1..acc0b6dbdba22 100644
--- a/tests/baselines/reference/inlayHintsShouldWork33.baseline
+++ b/tests/baselines/reference/inlayHintsInteractiveParameterNamesInSpan2.baseline
@@ -12,7 +12,7 @@ foo2(1, 2);
"start": 55,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork33.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan2.ts"
},
{
"text": ":"
@@ -34,7 +34,7 @@ foo2(1, 2);
"start": 66,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork33.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan2.ts"
},
{
"text": ":"
@@ -56,7 +56,7 @@ foo3(1, 2);
"start": 95,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork33.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan2.ts"
},
{
"text": ":"
@@ -78,7 +78,7 @@ foo3(1, 2);
"start": 106,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork33.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan2.ts"
},
{
"text": ":"
@@ -100,7 +100,7 @@ foo4(1, 2);
"start": 135,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork33.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan2.ts"
},
{
"text": ":"
@@ -122,7 +122,7 @@ foo4(1, 2);
"start": 146,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork33.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan2.ts"
},
{
"text": ":"
diff --git a/tests/baselines/reference/inlayHintsShouldWork52.baseline b/tests/baselines/reference/inlayHintsInteractiveParameterNamesWithComments.baseline
similarity index 50%
rename from tests/baselines/reference/inlayHintsShouldWork52.baseline
rename to tests/baselines/reference/inlayHintsInteractiveParameterNamesWithComments.baseline
index b0572fd914cbd..9ca391a20c77d 100644
--- a/tests/baselines/reference/inlayHintsShouldWork52.baseline
+++ b/tests/baselines/reference/inlayHintsInteractiveParameterNamesWithComments.baseline
@@ -1,27 +1,40 @@
-function foo (aParameter: number, bParameter: number, cParameter: number) { }
- ^
+fn(/* nobody knows exactly what this param is */ 42);
+ ^
{
- "text": ": void",
- "position": 73,
- "kind": "Type",
- "whitespaceBefore": true
+ "text": "",
+ "position": 76,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "x",
+ "span": {
+ "start": 12,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
}
2,
^
{
"text": "",
- "position": 134,
+ "position": 215,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "bParameter",
"span": {
- "start": 34,
+ "start": 115,
"length": 10
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork52.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts"
},
{
"text": ":"
@@ -33,17 +46,17 @@ function foo (aParameter: number, bParameter: number, cParameter: number) { }
^
{
"text": "",
- "position": 338,
+ "position": 419,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "cParameter",
"span": {
- "start": 54,
+ "start": 135,
"length": 10
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork52.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts"
},
{
"text": ":"
@@ -55,17 +68,17 @@ function foo (aParameter: number, bParameter: number, cParameter: number) { }
^
{
"text": "",
- "position": 373,
+ "position": 454,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "aParameter",
"span": {
- "start": 14,
+ "start": 95,
"length": 10
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork52.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts"
},
{
"text": ":"
@@ -77,17 +90,17 @@ function foo (aParameter: number, bParameter: number, cParameter: number) { }
^
{
"text": "",
- "position": 380,
+ "position": 461,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "bParameter",
"span": {
- "start": 34,
+ "start": 115,
"length": 10
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork52.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts"
},
{
"text": ":"
@@ -99,17 +112,17 @@ function foo (aParameter: number, bParameter: number, cParameter: number) { }
^
{
"text": "",
- "position": 440,
+ "position": 521,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "cParameter",
"span": {
- "start": 54,
+ "start": 135,
"length": 10
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork52.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts"
},
{
"text": ":"
diff --git a/tests/baselines/reference/inlayHintsShouldWork50.baseline b/tests/baselines/reference/inlayHintsInteractiveRestParameters1.baseline
similarity index 55%
rename from tests/baselines/reference/inlayHintsShouldWork50.baseline
rename to tests/baselines/reference/inlayHintsInteractiveRestParameters1.baseline
index df463016ccac4..6241709b7f373 100644
--- a/tests/baselines/reference/inlayHintsShouldWork50.baseline
+++ b/tests/baselines/reference/inlayHintsInteractiveRestParameters1.baseline
@@ -1,18 +1,18 @@
-foo(1, '', false, 1, 2)
- ^
+foo1(1, 1, 1, 1);
+ ^
{
"text": "",
- "position": 161,
+ "position": 49,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "f",
+ "text": "a",
"span": {
- "start": 70,
+ "start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork50.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts"
},
{
"text": ":"
@@ -20,21 +20,21 @@ foo(1, '', false, 1, 2)
]
}
-foo(1, '', false, 1, 2)
- ^
+foo1(1, 1, 1, 1);
+ ^
{
"text": "",
- "position": 164,
+ "position": 52,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "a",
+ "text": "...b",
"span": {
- "start": 10,
+ "start": 28,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork50.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts"
},
{
"text": ":"
@@ -42,21 +42,21 @@ foo(1, '', false, 1, 2)
]
}
-foo(1, '', false, 1, 2)
- ^
+foo2(1, 2, 3)
+ ^
{
"text": "",
- "position": 168,
+ "position": 153,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "b",
+ "text": "c",
"span": {
- "start": 21,
+ "start": 120,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork50.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts"
},
{
"text": ":"
@@ -64,21 +64,21 @@ foo(1, '', false, 1, 2)
]
}
-foo(1, '', false, 1, 2)
- ^
+foo2(1, 2, 3)
+ ^
{
"text": "",
- "position": 175,
+ "position": 156,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "...c",
+ "text": "a",
"span": {
- "start": 36,
+ "start": 76,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork50.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts"
},
{
"text": ":"
@@ -86,21 +86,21 @@ foo(1, '', false, 1, 2)
]
}
-foo1(1, "", "")
- ^
+foo2(1, 2, 3)
+ ^
{
"text": "",
- "position": 186,
+ "position": 159,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "f1",
+ "text": "b",
"span": {
- "start": 120,
- "length": 2
+ "start": 87,
+ "length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork50.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts"
},
{
"text": ":"
@@ -108,21 +108,21 @@ foo1(1, "", "")
]
}
-foo1(1, "", "")
- ^
+foo3(1, 2, 3)
+ ^
{
"text": "",
- "position": 189,
+ "position": 247,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "...args",
+ "text": "c",
"span": {
- "start": 135,
- "length": 4
+ "start": 214,
+ "length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork50.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts"
},
{
"text": ":"
diff --git a/tests/baselines/reference/inlayHintsInteractiveRestParameters2.baseline b/tests/baselines/reference/inlayHintsInteractiveRestParameters2.baseline
new file mode 100644
index 0000000000000..8d5e91db2fd01
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsInteractiveRestParameters2.baseline
@@ -0,0 +1,241 @@
+ foo(...x, 3);
+ ^
+{
+ "text": "",
+ "position": 113,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 13,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "",
+ "position": 119,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "c",
+ "span": {
+ "start": 37,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(...x, 1, 2, 3);
+ ^
+{
+ "text": "",
+ "position": 165,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 13,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(...x, 1, 2, 3);
+ ^
+{
+ "text": "",
+ "position": 168,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "b",
+ "span": {
+ "start": 25,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(...x, 1, 2, 3);
+ ^
+{
+ "text": "",
+ "position": 171,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "c",
+ "span": {
+ "start": 37,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(1, ...x);
+ ^
+{
+ "text": "",
+ "position": 226,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 13,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(1, ...x);
+ ^
+{
+ "text": "",
+ "position": 229,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "b",
+ "span": {
+ "start": 25,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "",
+ "position": 287,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 13,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "",
+ "position": 293,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "b",
+ "span": {
+ "start": 25,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "",
+ "position": 347,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "a",
+ "span": {
+ "start": 13,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "",
+ "position": 353,
+ "kind": "Parameter",
+ "whitespaceAfter": true,
+ "displayParts": [
+ {
+ "text": "c",
+ "span": {
+ "start": 37,
+ "length": 1
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts"
+ },
+ {
+ "text": ":"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsInteractiveReturnType.baseline b/tests/baselines/reference/inlayHintsInteractiveReturnType.baseline
new file mode 100644
index 0000000000000..24d374144aece
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsInteractiveReturnType.baseline
@@ -0,0 +1,205 @@
+function numberLiteral() { return 1; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "number"
+ }
+ ],
+ "position": 52,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function stringLiteral() { return "foo"; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "string"
+ }
+ ],
+ "position": 91,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function nothing() { }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "void"
+ }
+ ],
+ "position": 128,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function closure() { return () => 1; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "("
+ },
+ {
+ "text": ")"
+ },
+ {
+ "text": " => "
+ },
+ {
+ "text": "number"
+ }
+ ],
+ "position": 151,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function closure() { return () => 1; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "number"
+ }
+ ],
+ "position": 163,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function fooClosure() { return (foo: Foo) => foo.bar; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "("
+ },
+ {
+ "text": ")"
+ },
+ {
+ "text": " => "
+ },
+ {
+ "text": "number"
+ }
+ ],
+ "position": 193,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function fooClosure() { return (foo: Foo) => foo.bar; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "number"
+ }
+ ],
+ "position": 213,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function returnFoo(foo: Foo) { return foo; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "Foo",
+ "span": {
+ "start": 5,
+ "length": 3
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveReturnType.ts"
+ }
+ ],
+ "position": 256,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function returnMaybeFoo(foo: Foo) { if (Math.random()) return foo; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "Foo",
+ "span": {
+ "start": 5,
+ "length": 3
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveReturnType.ts"
+ }
+ ],
+ "position": 306,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+function returnFoos(foo: Foo) { return [foo, foo]; }
+ ^
+{
+ "text": "",
+ "displayParts": [
+ {
+ "text": ": "
+ },
+ {
+ "text": "Foo",
+ "span": {
+ "start": 5,
+ "length": 3
+ },
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveReturnType.ts"
+ },
+ {
+ "text": "[]"
+ }
+ ],
+ "position": 371,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork9.baseline b/tests/baselines/reference/inlayHintsInteractiveWithClosures.baseline
similarity index 57%
rename from tests/baselines/reference/inlayHintsShouldWork9.baseline
rename to tests/baselines/reference/inlayHintsInteractiveWithClosures.baseline
index 2e42331c3faf2..105dc62910621 100644
--- a/tests/baselines/reference/inlayHintsShouldWork9.baseline
+++ b/tests/baselines/reference/inlayHintsInteractiveWithClosures.baseline
@@ -1,18 +1,18 @@
-call(1);
+foo1(1)(2);
^
{
"text": "",
- "position": 131,
+ "position": 89,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "a",
"span": {
- "start": 22,
+ "start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork9.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveWithClosures.ts"
},
{
"text": ":"
@@ -20,21 +20,21 @@ call(1);
]
}
-call(1, 2);
- ^
+foo1(1)(2);
+ ^
{
"text": "",
- "position": 140,
+ "position": 92,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
"text": "b",
"span": {
- "start": 44,
+ "start": 39,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork9.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveWithClosures.ts"
},
{
"text": ":"
@@ -42,21 +42,21 @@ call(1, 2);
]
}
-call(1, 2);
- ^
+ return a(1) + 2
+ ^
{
"text": "",
- "position": 143,
+ "position": 151,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "c",
+ "text": "b",
"span": {
- "start": 55,
+ "start": 114,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork9.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveWithClosures.ts"
},
{
"text": ":"
@@ -64,21 +64,21 @@ call(1, 2);
]
}
-new call(1);
- ^
+foo2((c: number) => c + 1);
+ ^
{
"text": "",
- "position": 156,
+ "position": 165,
"kind": "Parameter",
"whitespaceAfter": true,
"displayParts": [
{
- "text": "d",
+ "text": "a",
"span": {
- "start": 81,
+ "start": 110,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork9.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInteractiveWithClosures.ts"
},
{
"text": ":"
diff --git a/tests/baselines/reference/inlayHintsShouldWork34.baseline b/tests/baselines/reference/inlayHintsInterativeAnyParameter1.baseline
similarity index 77%
rename from tests/baselines/reference/inlayHintsShouldWork34.baseline
rename to tests/baselines/reference/inlayHintsInterativeAnyParameter1.baseline
index e4945d9a5d073..6d4d794d58e4a 100644
--- a/tests/baselines/reference/inlayHintsShouldWork34.baseline
+++ b/tests/baselines/reference/inlayHintsInterativeAnyParameter1.baseline
@@ -12,7 +12,7 @@ foo(1);
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork34.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter1.ts"
},
{
"text": ":"
@@ -34,7 +34,7 @@ foo('');
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork34.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter1.ts"
},
{
"text": ":"
@@ -56,7 +56,7 @@ foo(true);
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork34.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter1.ts"
},
{
"text": ":"
@@ -78,7 +78,7 @@ foo((1));
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork34.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter1.ts"
},
{
"text": ":"
@@ -100,7 +100,7 @@ foo(foo(1));
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork34.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter1.ts"
},
{
"text": ":"
diff --git a/tests/baselines/reference/inlayHintsShouldWork35.baseline b/tests/baselines/reference/inlayHintsInterativeAnyParameter2.baseline
similarity index 77%
rename from tests/baselines/reference/inlayHintsShouldWork35.baseline
rename to tests/baselines/reference/inlayHintsInterativeAnyParameter2.baseline
index 5bf2348d3b7dd..510267abb4adb 100644
--- a/tests/baselines/reference/inlayHintsShouldWork35.baseline
+++ b/tests/baselines/reference/inlayHintsInterativeAnyParameter2.baseline
@@ -12,7 +12,7 @@ foo(1);
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -34,7 +34,7 @@ foo('');
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -56,7 +56,7 @@ foo(true);
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -78,7 +78,7 @@ foo(() => 1);
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -100,7 +100,7 @@ foo(function () { return 1 });
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -122,7 +122,7 @@ foo({});
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -144,7 +144,7 @@ foo({ a: 1 });
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -166,7 +166,7 @@ foo([]);
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -188,7 +188,7 @@ foo([1]);
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -210,7 +210,7 @@ foo(foo);
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -232,7 +232,7 @@ foo((1));
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -254,7 +254,7 @@ foo(foo(1));
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
@@ -276,7 +276,7 @@ foo(foo(1));
"start": 14,
"length": 1
},
- "file": "/tests/cases/fourslash/inlayHintsShouldWork35.ts"
+ "file": "/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts"
},
{
"text": ":"
diff --git a/tests/baselines/reference/inlayHintsShouldWork47.baseline b/tests/baselines/reference/inlayHintsJsDocParameterNames.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork47.baseline
rename to tests/baselines/reference/inlayHintsJsDocParameterNames.baseline
diff --git a/tests/baselines/reference/inlayHintsShouldWork51.baseline b/tests/baselines/reference/inlayHintsMultifile1.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork51.baseline
rename to tests/baselines/reference/inlayHintsMultifile1.baseline
diff --git a/tests/baselines/reference/inlayHintsShouldWork54.baseline b/tests/baselines/reference/inlayHintsNoHintWhenArgumentMatchesName.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork54.baseline
rename to tests/baselines/reference/inlayHintsNoHintWhenArgumentMatchesName.baseline
diff --git a/tests/baselines/reference/inlayHintsShouldWork17.baseline b/tests/baselines/reference/inlayHintsNoParameterHints.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork17.baseline
rename to tests/baselines/reference/inlayHintsNoParameterHints.baseline
diff --git a/tests/baselines/reference/inlayHintsShouldWork18.baseline b/tests/baselines/reference/inlayHintsNoVariableTypeHints.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork18.baseline
rename to tests/baselines/reference/inlayHintsNoVariableTypeHints.baseline
diff --git a/tests/baselines/reference/inlayHintsOverloadCall.baseline b/tests/baselines/reference/inlayHintsOverloadCall.baseline
new file mode 100644
index 0000000000000..8c9f5baed425d
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsOverloadCall.baseline
@@ -0,0 +1,89 @@
+call(1);
+ ^
+{
+ "text": "a:",
+ "position": 131,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+call(1, 2);
+ ^
+{
+ "text": "b:",
+ "position": 140,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+call(1, 2);
+ ^
+{
+ "text": "c:",
+ "position": 143,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+new call(1);
+ ^
+{
+ "text": "d:",
+ "position": 156,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo(1)
+ ^
+{
+ "text": "w:",
+ "position": 326,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo(1, 2)
+ ^
+{
+ "text": "a:",
+ "position": 333,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo(1, 2)
+ ^
+{
+ "text": "b:",
+ "position": 336,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+new Class(1)
+ ^
+{
+ "text": "a:",
+ "position": 475,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+new Class(1, 2)
+ ^
+{
+ "text": "b:",
+ "position": 488,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+new Class(1, 2)
+ ^
+{
+ "text": "c:",
+ "position": 491,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsParameterNames.baseline b/tests/baselines/reference/inlayHintsParameterNames.baseline
new file mode 100644
index 0000000000000..bb7fd50b15c25
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsParameterNames.baseline
@@ -0,0 +1,188 @@
+ foo1(1, 2);
+ ^
+{
+ "text": "a:",
+ "position": 47,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo1(1, 2);
+ ^
+{
+ "text": "b:",
+ "position": 50,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo2(1, { c: 1 });
+ ^
+{
+ "text": "a:",
+ "position": 102,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+const C1 = class extends foo3(1) { }
+ ^
+{
+ "text": "a:",
+ "position": 180,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+class C2 extends foo3(1) { }
+ ^
+{
+ "text": "a:",
+ "position": 209,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo4(1, +1, -1, +"1");
+ ^
+{
+ "text": "a:",
+ "position": 282,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo4(1, +1, -1, +"1");
+ ^
+{
+ "text": "b:",
+ "position": 285,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo4(1, +1, -1, +"1");
+ ^
+{
+ "text": "c:",
+ "position": 289,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo4(1, +1, -1, +"1");
+ ^
+{
+ "text": "d:",
+ "position": 293,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ "hello",
+ ^
+{
+ "text": "a:",
+ "position": 484,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ undefined,
+ ^
+{
+ "text": "b:",
+ "position": 497,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ null,
+ ^
+{
+ "text": "c:",
+ "position": 512,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ true,
+ ^
+{
+ "text": "d:",
+ "position": 522,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ false,
+ ^
+{
+ "text": "e:",
+ "position": 532,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ Infinity,
+ ^
+{
+ "text": "f:",
+ "position": 543,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ -Infinity,
+ ^
+{
+ "text": "g:",
+ "position": 557,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ NaN,
+ ^
+{
+ "text": "h:",
+ "position": 572,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ /hello/g,
+ ^
+{
+ "text": "i:",
+ "position": 581,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ 123n,
+ ^
+{
+ "text": "j:",
+ "position": 595,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+trace(`${1}`);
+ ^
+{
+ "text": "message:",
+ "position": 694,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+trace(``);
+ ^
+{
+ "text": "message:",
+ "position": 709,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsParameterNamesInSpan1.baseline b/tests/baselines/reference/inlayHintsParameterNamesInSpan1.baseline
new file mode 100644
index 0000000000000..888d50fcb5fc0
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsParameterNamesInSpan1.baseline
@@ -0,0 +1,53 @@
+function c2 () { foo2(1, 2); }
+ ^
+{
+ "text": "c:",
+ "position": 293,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+function c2 () { foo2(1, 2); }
+ ^
+{
+ "text": "d:",
+ "position": 296,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+function c3 () { foo3(1, 2); }
+ ^
+{
+ "text": "e:",
+ "position": 324,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+function c3 () { foo3(1, 2); }
+ ^
+{
+ "text": "f:",
+ "position": 327,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+function c4 () { foo4(1, 2); }
+ ^
+{
+ "text": "g:",
+ "position": 355,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+function c4 () { foo4(1, 2); }
+ ^
+{
+ "text": "h:",
+ "position": 358,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsParameterNamesInSpan2.baseline b/tests/baselines/reference/inlayHintsParameterNamesInSpan2.baseline
new file mode 100644
index 0000000000000..f0484d4044d46
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsParameterNamesInSpan2.baseline
@@ -0,0 +1,53 @@
+foo2(1, 2);
+ ^
+{
+ "text": "c:",
+ "position": 257,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo2(1, 2);
+ ^
+{
+ "text": "d:",
+ "position": 260,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo3(1, 2);
+ ^
+{
+ "text": "e:",
+ "position": 269,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo3(1, 2);
+ ^
+{
+ "text": "f:",
+ "position": 272,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo4(1, 2);
+ ^
+{
+ "text": "g:",
+ "position": 281,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo4(1, 2);
+ ^
+{
+ "text": "h:",
+ "position": 284,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork37.baseline b/tests/baselines/reference/inlayHintsPropertyDeclarations.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork37.baseline
rename to tests/baselines/reference/inlayHintsPropertyDeclarations.baseline
diff --git a/tests/baselines/reference/inlayHintsRestParameters1.baseline b/tests/baselines/reference/inlayHintsRestParameters1.baseline
new file mode 100644
index 0000000000000..ee07967f75d1e
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsRestParameters1.baseline
@@ -0,0 +1,53 @@
+foo1(1, 1, 1, 1);
+ ^
+{
+ "text": "a:",
+ "position": 49,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo1(1, 1, 1, 1);
+ ^
+{
+ "text": "...b:",
+ "position": 52,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo2(1, 2, 3)
+ ^
+{
+ "text": "c:",
+ "position": 153,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo2(1, 2, 3)
+ ^
+{
+ "text": "a:",
+ "position": 156,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo2(1, 2, 3)
+ ^
+{
+ "text": "b:",
+ "position": 159,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo3(1, 2, 3)
+ ^
+{
+ "text": "c:",
+ "position": 247,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsRestParameters2.baseline b/tests/baselines/reference/inlayHintsRestParameters2.baseline
new file mode 100644
index 0000000000000..79c2a63f63c25
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsRestParameters2.baseline
@@ -0,0 +1,98 @@
+ foo(...x, 3);
+ ^
+{
+ "text": "a:",
+ "position": 113,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "c:",
+ "position": 119,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(...x, 1, 2, 3);
+ ^
+{
+ "text": "a:",
+ "position": 165,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(...x, 1, 2, 3);
+ ^
+{
+ "text": "b:",
+ "position": 168,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(...x, 1, 2, 3);
+ ^
+{
+ "text": "c:",
+ "position": 171,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(1, ...x);
+ ^
+{
+ "text": "a:",
+ "position": 226,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(1, ...x);
+ ^
+{
+ "text": "b:",
+ "position": 229,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "a:",
+ "position": 287,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "b:",
+ "position": 293,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "a:",
+ "position": 347,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ foo(...x, 3);
+ ^
+{
+ "text": "c:",
+ "position": 353,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsReturnType.baseline b/tests/baselines/reference/inlayHintsReturnType.baseline
new file mode 100644
index 0000000000000..1a17fa507217e
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsReturnType.baseline
@@ -0,0 +1,44 @@
+function foo1 () {
+ ^
+{
+ "text": ": number",
+ "position": 16,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+ foo() {
+ ^
+{
+ "text": ": number",
+ "position": 95,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+const a = () => 1
+ ^
+{
+ "text": ": number",
+ "position": 135,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+const b = function () { return 1 }
+ ^
+{
+ "text": ": number",
+ "position": 162,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
+
+const c = (b) => 1
+ ^
+{
+ "text": ": number",
+ "position": 189,
+ "kind": "Type",
+ "whitespaceBefore": true
+}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork1.baseline b/tests/baselines/reference/inlayHintsShouldWork1.baseline
deleted file mode 100644
index a4ca2e72691ce..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork1.baseline
+++ /dev/null
@@ -1,43 +0,0 @@
-foo(1, 2);
- ^
-{
- "text": "",
- "position": 43,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 14,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork1.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, 2);
- ^
-{
- "text": "",
- "position": 46,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 25,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork1.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork11.baseline b/tests/baselines/reference/inlayHintsShouldWork11.baseline
deleted file mode 100644
index 4253e6175a250..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork11.baseline
+++ /dev/null
@@ -1,43 +0,0 @@
-foo(1)(2);
- ^
-{
- "text": "",
- "position": 87,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 13,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork11.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1)(2);
- ^
-{
- "text": "",
- "position": 90,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 38,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork11.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork12.baseline b/tests/baselines/reference/inlayHintsShouldWork12.baseline
deleted file mode 100644
index 8610811799358..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork12.baseline
+++ /dev/null
@@ -1,43 +0,0 @@
- return a(1) + 2
- ^
-{
- "text": "",
- "position": 54,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 17,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork12.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo((c: number) => c + 1);
- ^
-{
- "text": "",
- "position": 67,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 13,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork12.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork13.baseline b/tests/baselines/reference/inlayHintsShouldWork13.baseline
deleted file mode 100644
index 425f8294f6aa4..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork13.baseline
+++ /dev/null
@@ -1,21 +0,0 @@
-foo(a, 2);
- ^
-{
- "text": "",
- "position": 66,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 25,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork13.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork2.baseline b/tests/baselines/reference/inlayHintsShouldWork2.baseline
deleted file mode 100644
index 0b4274fc30dbc..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork2.baseline
+++ /dev/null
@@ -1,21 +0,0 @@
-foo(1, { c: 1 });
- ^
-{
- "text": "",
- "position": 44,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 14,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork2.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork21.baseline b/tests/baselines/reference/inlayHintsShouldWork21.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork21.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork22.baseline b/tests/baselines/reference/inlayHintsShouldWork22.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork22.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork24.baseline b/tests/baselines/reference/inlayHintsShouldWork24.baseline
deleted file mode 100644
index eb17c4ad027f0..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork24.baseline
+++ /dev/null
@@ -1,17 +0,0 @@
-const f: F = (a, b) => { }
- ^
-{
- "text": ": string",
- "position": 55,
- "kind": "Type",
- "whitespaceBefore": true
-}
-
-const f: F = (a, b) => { }
- ^
-{
- "text": ": number",
- "position": 58,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork25.baseline b/tests/baselines/reference/inlayHintsShouldWork25.baseline
deleted file mode 100644
index d9161dfdccf03..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork25.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-foo((a) => { })
- ^
-{
- "text": ": string",
- "position": 48,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork26.baseline b/tests/baselines/reference/inlayHintsShouldWork26.baseline
deleted file mode 100644
index d2ef8170b62e3..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork26.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-foo((a) => { })
- ^
-{
- "text": ": 2 | 3",
- "position": 63,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork27.baseline b/tests/baselines/reference/inlayHintsShouldWork27.baseline
deleted file mode 100644
index f9dc800b3837e..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork27.baseline
+++ /dev/null
@@ -1,17 +0,0 @@
-foo(a => {
- ^
-{
- "text": ": (c: (d: 2 | 3) => void) => ...",
- "position": 87,
- "kind": "Type",
- "whitespaceBefore": true
-}
-
- a(d => {})
- ^
-{
- "text": ": 2 | 3",
- "position": 100,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork28.baseline b/tests/baselines/reference/inlayHintsShouldWork28.baseline
deleted file mode 100644
index f0fc32c8e5655..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork28.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-const f: F = (a, b: number) => { }
- ^
-{
- "text": ": string",
- "position": 55,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork29.baseline b/tests/baselines/reference/inlayHintsShouldWork29.baseline
deleted file mode 100644
index 8e2ad45030f9a..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork29.baseline
+++ /dev/null
@@ -1,35 +0,0 @@
-foo(a => {
- ^
-{
- "text": "a:",
- "position": 86,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
-foo(a => {
- ^
-{
- "text": ": (c: (d: 2 | 3) => void) => ...",
- "position": 87,
- "kind": "Type",
- "whitespaceBefore": true
-}
-
- a(d => {})
- ^
-{
- "text": "c:",
- "position": 99,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
- a(d => {})
- ^
-{
- "text": ": 2 | 3",
- "position": 100,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork3.baseline b/tests/baselines/reference/inlayHintsShouldWork3.baseline
deleted file mode 100644
index ea3e49735de65..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork3.baseline
+++ /dev/null
@@ -1,43 +0,0 @@
-foo(1, 1, 1, 1);
- ^
-{
- "text": "",
- "position": 48,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 14,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork3.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, 1, 1, 1);
- ^
-{
- "text": "",
- "position": 51,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "...b",
- "span": {
- "start": 28,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork3.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork30.baseline b/tests/baselines/reference/inlayHintsShouldWork30.baseline
deleted file mode 100644
index 020b289310881..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork30.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-f(1, a => { })
- ^
-{
- "text": ": number",
- "position": 48,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork31.baseline b/tests/baselines/reference/inlayHintsShouldWork31.baseline
deleted file mode 100644
index 72ab45d03ae5b..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork31.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-const f: F = (a) => { }
- ^
-{
- "text": ": { a: number; b: string; }",
- "position": 69,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork36.baseline b/tests/baselines/reference/inlayHintsShouldWork36.baseline
deleted file mode 100644
index d9e2b88aac5c3..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork36.baseline
+++ /dev/null
@@ -1,43 +0,0 @@
-foo(a, 2);
- ^
-{
- "text": "",
- "position": 63,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 14,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork36.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(a, 2);
- ^
-{
- "text": "",
- "position": 66,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 25,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork36.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork38.baseline b/tests/baselines/reference/inlayHintsShouldWork38.baseline
deleted file mode 100644
index 7ac6427df2f74..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork38.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-function foo () {
- ^
-{
- "text": ": number",
- "position": 15,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork39.baseline b/tests/baselines/reference/inlayHintsShouldWork39.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork39.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork4.baseline b/tests/baselines/reference/inlayHintsShouldWork4.baseline
deleted file mode 100644
index c5b93f778b123..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork4.baseline
+++ /dev/null
@@ -1,65 +0,0 @@
-foo(1)
- ^
-{
- "text": "",
- "position": 166,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "w",
- "span": {
- "start": 21,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork4.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, 2)
- ^
-{
- "text": "",
- "position": 173,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 59,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork4.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, 2)
- ^
-{
- "text": "",
- "position": 176,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 70,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork4.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork40.baseline b/tests/baselines/reference/inlayHintsShouldWork40.baseline
deleted file mode 100644
index cbc03446ba713..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork40.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
- foo() {
- ^
-{
- "text": ": number",
- "position": 19,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork41.baseline b/tests/baselines/reference/inlayHintsShouldWork41.baseline
deleted file mode 100644
index 78e6bb608dd2f..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork41.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-const a = () => 1
- ^
-{
- "text": ": number",
- "position": 12,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork42.baseline b/tests/baselines/reference/inlayHintsShouldWork42.baseline
deleted file mode 100644
index abe025f3032a9..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork42.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-const a = function () { return 1}
- ^
-{
- "text": ": number",
- "position": 21,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork43.baseline b/tests/baselines/reference/inlayHintsShouldWork43.baseline
deleted file mode 100644
index 6bf0ef3fe56c4..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork43.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-const a = (b) => 1
- ^
-{
- "text": ": number",
- "position": 13,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork45.baseline b/tests/baselines/reference/inlayHintsShouldWork45.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork45.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork48.baseline b/tests/baselines/reference/inlayHintsShouldWork48.baseline
deleted file mode 100644
index da8af02454fbb..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork48.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-const x = foo(1)
- ^
-{
- "text": ": 1",
- "position": 55,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork49.baseline b/tests/baselines/reference/inlayHintsShouldWork49.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork49.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork5.baseline b/tests/baselines/reference/inlayHintsShouldWork5.baseline
deleted file mode 100644
index 40fd6eab8dede..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork5.baseline
+++ /dev/null
@@ -1,65 +0,0 @@
-foo(1, 2, 3)
- ^
-{
- "text": "",
- "position": 87,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "c",
- "span": {
- "start": 56,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork5.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, 2, 3)
- ^
-{
- "text": "",
- "position": 90,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 13,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork5.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, 2, 3)
- ^
-{
- "text": "",
- "position": 93,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 24,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork5.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork53.baseline b/tests/baselines/reference/inlayHintsShouldWork53.baseline
deleted file mode 100644
index 9c090239a9956..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork53.baseline
+++ /dev/null
@@ -1,21 +0,0 @@
-fn(/* nobody knows exactly what this param is */ 42);
- ^
-{
- "text": "",
- "position": 76,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "x",
- "span": {
- "start": 12,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork53.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork55.baseline b/tests/baselines/reference/inlayHintsShouldWork55.baseline
deleted file mode 100644
index 9920c18238b50..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork55.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
- get foo() { return 1; }
- ^
-{
- "text": ": number",
- "position": 25,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork57.baseline b/tests/baselines/reference/inlayHintsShouldWork57.baseline
deleted file mode 100644
index 544dd4e8d35bb..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork57.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
- set foo(value) { this.#value = value; }
- ^
-{
- "text": ": number",
- "position": 91,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork58.baseline b/tests/baselines/reference/inlayHintsShouldWork58.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork58.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork59.baseline b/tests/baselines/reference/inlayHintsShouldWork59.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork59.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork6.baseline b/tests/baselines/reference/inlayHintsShouldWork6.baseline
deleted file mode 100644
index 3f8bbed8692c9..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork6.baseline
+++ /dev/null
@@ -1,21 +0,0 @@
-foo(1, 2, 3)
- ^
-{
- "text": "",
- "position": 81,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "c",
- "span": {
- "start": 50,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork6.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork60.baseline b/tests/baselines/reference/inlayHintsShouldWork60.baseline
deleted file mode 100644
index 04fd07380ba82..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork60.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
- set foo(value) { this.#value = value; }
- ^
-{
- "text": ": number",
- "position": 83,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork61.baseline b/tests/baselines/reference/inlayHintsShouldWork61.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork61.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork62.baseline b/tests/baselines/reference/inlayHintsShouldWork62.baseline
deleted file mode 100644
index 3f8f62af0d31f..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork62.baseline
+++ /dev/null
@@ -1,43 +0,0 @@
-trace(`${1}`);
- ^
-{
- "text": "",
- "position": 41,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "message",
- "span": {
- "start": 15,
- "length": 7
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork62.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-trace(``);
- ^
-{
- "text": "",
- "position": 56,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "message",
- "span": {
- "start": 15,
- "length": 7
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork62.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork63.baseline b/tests/baselines/reference/inlayHintsShouldWork63.baseline
deleted file mode 100644
index 674c1e4aea5c4..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork63.baseline
+++ /dev/null
@@ -1,87 +0,0 @@
-foo(1, +1, -1, +"1");
- ^
-{
- "text": "",
- "position": 64,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 13,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork63.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, +1, -1, +"1");
- ^
-{
- "text": "",
- "position": 67,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 24,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork63.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, +1, -1, +"1");
- ^
-{
- "text": "",
- "position": 71,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "c",
- "span": {
- "start": 35,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork63.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-foo(1, +1, -1, +"1");
- ^
-{
- "text": "",
- "position": 75,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "d",
- "span": {
- "start": 46,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork63.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork65.baseline b/tests/baselines/reference/inlayHintsShouldWork65.baseline
deleted file mode 100644
index 458efc55a111d..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork65.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
-const f: F = (a, b = 1) => { }
- ^
-{
- "text": ": string",
- "position": 55,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork66.baseline b/tests/baselines/reference/inlayHintsShouldWork66.baseline
deleted file mode 100644
index a0bd945548d0d..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork66.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
- bar: function (x?): void {
- ^
-{
- "text": ": boolean",
- "position": 87,
- "kind": "Type",
- "whitespaceBefore": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork67.baseline b/tests/baselines/reference/inlayHintsShouldWork67.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork67.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork68.baseline b/tests/baselines/reference/inlayHintsShouldWork68.baseline
deleted file mode 100644
index 32b0560b803ca..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork68.baseline
+++ /dev/null
@@ -1,43 +0,0 @@
-const C1 = class extends foo(1) { }
- ^
-{
- "text": "",
- "position": 63,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 13,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork68.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-class C2 extends foo(1) { }
- ^
-{
- "text": "",
- "position": 91,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 13,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork68.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork69.baseline b/tests/baselines/reference/inlayHintsShouldWork69.baseline
deleted file mode 100644
index 6136dbb8025a6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork69.baseline
+++ /dev/null
@@ -1 +0,0 @@
-=== No inlay hints ===
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork7.baseline b/tests/baselines/reference/inlayHintsShouldWork7.baseline
deleted file mode 100644
index 17d74b5d61cff..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork7.baseline
+++ /dev/null
@@ -1,65 +0,0 @@
-call(1);
- ^
-{
- "text": "",
- "position": 105,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 22,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork7.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-call(1, 2);
- ^
-{
- "text": "",
- "position": 114,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 44,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork7.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-call(1, 2);
- ^
-{
- "text": "",
- "position": 117,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "c",
- "span": {
- "start": 55,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork7.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork70.baseline b/tests/baselines/reference/inlayHintsShouldWork70.baseline
deleted file mode 100644
index de71ef08ed62c..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork70.baseline
+++ /dev/null
@@ -1,17 +0,0 @@
- foo(...x, 3);
- ^
-{
- "text": "a:",
- "position": 100,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
- foo(...x, 3);
- ^
-{
- "text": "c:",
- "position": 106,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork71.baseline b/tests/baselines/reference/inlayHintsShouldWork71.baseline
deleted file mode 100644
index f51373d5aaa8d..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork71.baseline
+++ /dev/null
@@ -1,17 +0,0 @@
- foo(...x, 3);
- ^
-{
- "text": "a:",
- "position": 120,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
- foo(...x, 3);
- ^
-{
- "text": "d:",
- "position": 126,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork72.baseline b/tests/baselines/reference/inlayHintsShouldWork72.baseline
deleted file mode 100644
index 6b82bf61fe6d9..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork72.baseline
+++ /dev/null
@@ -1,17 +0,0 @@
- foo(...x, 3);
- ^
-{
- "text": "a:",
- "position": 101,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
- foo(...x, 3);
- ^
-{
- "text": "b:",
- "position": 107,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork73.baseline b/tests/baselines/reference/inlayHintsShouldWork73.baseline
deleted file mode 100644
index 6b76be453b4cf..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork73.baseline
+++ /dev/null
@@ -1,17 +0,0 @@
- foo(1, ...x);
- ^
-{
- "text": "a:",
- "position": 101,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
- foo(1, ...x);
- ^
-{
- "text": "b:",
- "position": 104,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork74.baseline b/tests/baselines/reference/inlayHintsShouldWork74.baseline
deleted file mode 100644
index e40d98f3ab4a0..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork74.baseline
+++ /dev/null
@@ -1,17 +0,0 @@
- foo(...x, 3);
- ^
-{
- "text": "a:",
- "position": 112,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
- foo(...x, 3);
- ^
-{
- "text": "c:",
- "position": 118,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork75.baseline b/tests/baselines/reference/inlayHintsShouldWork75.baseline
deleted file mode 100644
index 97e0bea06a6a9..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork75.baseline
+++ /dev/null
@@ -1,26 +0,0 @@
- foo(...x, 1, 2, 3);
- ^
-{
- "text": "a:",
- "position": 92,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
- foo(...x, 1, 2, 3);
- ^
-{
- "text": "b:",
- "position": 95,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
-
- foo(...x, 1, 2, 3);
- ^
-{
- "text": "c:",
- "position": 98,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork76.baseline b/tests/baselines/reference/inlayHintsShouldWork76.baseline
deleted file mode 100644
index 2ff1056ce72c6..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork76.baseline
+++ /dev/null
@@ -1,8 +0,0 @@
- foo(...x, 1);
- ^
-{
- "text": "d:",
- "position": 152,
- "kind": "Parameter",
- "whitespaceAfter": true
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork8.baseline b/tests/baselines/reference/inlayHintsShouldWork8.baseline
deleted file mode 100644
index f7cb28571a277..0000000000000
--- a/tests/baselines/reference/inlayHintsShouldWork8.baseline
+++ /dev/null
@@ -1,65 +0,0 @@
-new Class(1)
- ^
-{
- "text": "",
- "position": 136,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "a",
- "span": {
- "start": 30,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork8.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-new Class(1, 2)
- ^
-{
- "text": "",
- "position": 149,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "b",
- "span": {
- "start": 58,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork8.ts"
- },
- {
- "text": ":"
- }
- ]
-}
-
-new Class(1, 2)
- ^
-{
- "text": "",
- "position": 152,
- "kind": "Parameter",
- "whitespaceAfter": true,
- "displayParts": [
- {
- "text": "c",
- "span": {
- "start": 69,
- "length": 1
- },
- "file": "/tests/cases/fourslash/inlayHintsShouldWork8.ts"
- },
- {
- "text": ":"
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork20.baseline b/tests/baselines/reference/inlayHintsTypeMatchesName.baseline
similarity index 100%
rename from tests/baselines/reference/inlayHintsShouldWork20.baseline
rename to tests/baselines/reference/inlayHintsTypeMatchesName.baseline
diff --git a/tests/baselines/reference/inlayHintsShouldWork19.baseline b/tests/baselines/reference/inlayHintsVariableTypes1.baseline
similarity index 59%
rename from tests/baselines/reference/inlayHintsShouldWork19.baseline
rename to tests/baselines/reference/inlayHintsVariableTypes1.baseline
index 133fdf288bbf9..6cea19f330cc0 100644
--- a/tests/baselines/reference/inlayHintsShouldWork19.baseline
+++ b/tests/baselines/reference/inlayHintsVariableTypes1.baseline
@@ -1,8 +1,8 @@
-const a = () => 123;
- ^
+ const m = () => 123;
+ ^
{
"text": ": () => number",
- "position": 7,
+ "position": 331,
"kind": "Type",
"whitespaceBefore": true
}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsShouldWork56.baseline b/tests/baselines/reference/inlayHintsVariableTypes2.baseline
similarity index 77%
rename from tests/baselines/reference/inlayHintsShouldWork56.baseline
rename to tests/baselines/reference/inlayHintsVariableTypes2.baseline
index 0c1dd18626dcb..ff04dbe0e59cb 100644
--- a/tests/baselines/reference/inlayHintsShouldWork56.baseline
+++ b/tests/baselines/reference/inlayHintsVariableTypes2.baseline
@@ -23,4 +23,13 @@ const b = array;
"position": 128,
"kind": "Type",
"whitespaceBefore": true
+}
+
+const x = foo(1)
+ ^
+{
+ "text": ": 1",
+ "position": 244,
+ "kind": "Type",
+ "whitespaceBefore": true
}
\ No newline at end of file
diff --git a/tests/baselines/reference/inlayHintsWithClosures.baseline b/tests/baselines/reference/inlayHintsWithClosures.baseline
new file mode 100644
index 0000000000000..4b2eade08442c
--- /dev/null
+++ b/tests/baselines/reference/inlayHintsWithClosures.baseline
@@ -0,0 +1,35 @@
+foo1(1)(2);
+ ^
+{
+ "text": "a:",
+ "position": 89,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo1(1)(2);
+ ^
+{
+ "text": "b:",
+ "position": 92,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+ return a(1) + 2
+ ^
+{
+ "text": "b:",
+ "position": 151,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
+
+foo2((c: number) => c + 1);
+ ^
+{
+ "text": "a:",
+ "position": 165,
+ "kind": "Parameter",
+ "whitespaceAfter": true
+}
\ No newline at end of file
diff --git a/tests/cases/fourslash/inlayHintsShouldWork44.ts b/tests/cases/fourslash/inlayHintsEnumMemberValue.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork44.ts
rename to tests/cases/fourslash/inlayHintsEnumMemberValue.ts
diff --git a/tests/cases/fourslash/inlayHintsFunctionParameterTypes1.ts b/tests/cases/fourslash/inlayHintsFunctionParameterTypes1.ts
new file mode 100644
index 0000000000000..8057fe0265bc3
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsFunctionParameterTypes1.ts
@@ -0,0 +1,29 @@
+///
+
+//// type F1 = (a: string, b: number) => void
+//// const f1: F1 = (a, b) => { }
+//// const f2: F1 = (a, b: number) => { }
+
+//// function foo1 (cb: (a: string) => void) {}
+//// foo1((a) => { })
+
+//// function foo2 (cb: (a: Exclude<1 | 2 | 3, 1>) => void) {}
+//// foo2((a) => { })
+
+//// function foo3 (a: (b: (c: (d: Exclude<1 | 2 | 3, 1>) => void) => void) => void) {}
+//// foo3(a => {
+//// a(d => {})
+//// })
+
+//// function foo4(v: T, a: (v: T) => void) {}
+//// foo4(1, a => { })
+
+//// type F2 = (a: {
+//// a: number
+//// b: string
+//// }) => void
+//// const foo5: F2 = (a) => { }
+
+verify.baselineInlayHints(undefined, {
+ includeInlayFunctionParameterTypeHints: true
+});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork69.ts b/tests/cases/fourslash/inlayHintsFunctionParameterTypes2.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork69.ts
rename to tests/cases/fourslash/inlayHintsFunctionParameterTypes2.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork66.ts b/tests/cases/fourslash/inlayHintsFunctionParameterTypes3.ts
similarity index 66%
rename from tests/cases/fourslash/inlayHintsShouldWork66.ts
rename to tests/cases/fourslash/inlayHintsFunctionParameterTypes3.ts
index 52f0eef1ba011..9254e4a3591b3 100644
--- a/tests/cases/fourslash/inlayHintsShouldWork66.ts
+++ b/tests/cases/fourslash/inlayHintsFunctionParameterTypes3.ts
@@ -10,6 +10,12 @@
//// }
////}
+////class Foo {
+//// #value = 0;
+//// get foo(): number { return this.#value; }
+//// set foo(value) { this.#value = value; }
+////}
+
verify.baselineInlayHints(undefined, {
includeInlayFunctionParameterTypeHints: true
});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork59.ts b/tests/cases/fourslash/inlayHintsFunctionParameterTypes4.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork59.ts
rename to tests/cases/fourslash/inlayHintsFunctionParameterTypes4.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork45.ts b/tests/cases/fourslash/inlayHintsImportType1.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork45.ts
rename to tests/cases/fourslash/inlayHintsImportType1.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork46.ts b/tests/cases/fourslash/inlayHintsImportType2.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork46.ts
rename to tests/cases/fourslash/inlayHintsImportType2.ts
diff --git a/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts b/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts
new file mode 100644
index 0000000000000..fb2ad2c584ac1
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsInteractiveOverloadCall.ts
@@ -0,0 +1,30 @@
+///
+
+//// interface Call {
+//// (a: number): void
+//// (b: number, c: number): void
+//// new (d: number): Call
+//// }
+//// declare const call: Call;
+//// call(1);
+//// call(1, 2);
+//// new call(1);
+
+//// declare function foo(w: number): void
+//// declare function foo(a: number, b: number): void;
+//// declare function foo(a: number | undefined, b: number | undefined): void;
+//// foo(1)
+//// foo(1, 2)
+
+//// class Class {
+//// constructor(a: number);
+//// constructor(b: number, c: number);
+//// constructor(b: number, c?: number) { }
+//// }
+//// new Class(1)
+//// new Class(1, 2)
+
+verify.baselineInlayHints(undefined, {
+ includeInlayParameterNameHints: "literals",
+ interactiveInlayHints: true
+});
diff --git a/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts b/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts
new file mode 100644
index 0000000000000..e8f8dd855fba0
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsInteractiveParameterNames.ts
@@ -0,0 +1,49 @@
+///
+
+//// function foo1 (a: number, b: number) {}
+//// foo1(1, 2);
+
+//// function foo2 (a: number, { c }: any) {}
+//// foo2(1, { c: 1 });
+
+////const foo3 = (a = 1) => class { }
+////const C1 = class extends foo3(1) { }
+////class C2 extends foo3(1) { }
+
+////function foo4(a: number, b: number, c: number, d: number) {}
+////foo4(1, +1, -1, +"1");
+
+////function foo5(
+//// a: string,
+//// b: undefined,
+//// c: null,
+//// d: boolean,
+//// e: boolean,
+//// f: number,
+//// g: number,
+//// h: number,
+//// i: RegExp,
+//// j: bigint,
+////) {
+////}
+////foo5(
+//// "hello",
+//// undefined,
+//// null,
+//// true,
+//// false,
+//// Infinity,
+//// -Infinity,
+//// NaN,
+//// /hello/g,
+//// 123n,
+////);
+
+//// declare const unknownCall: any;
+//// unknownCall();
+
+////function trace(message: string) {}
+////trace(`${1}`);
+////trace(``);
+
+verify.baselineInlayHints(undefined, { includeInlayParameterNameHints: "literals", interactiveInlayHints: true });
diff --git a/tests/cases/fourslash/inlayHintsShouldWork32.ts b/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan1.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork32.ts
rename to tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan1.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork33.ts b/tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan2.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork33.ts
rename to tests/cases/fourslash/inlayHintsInteractiveParameterNamesInSpan2.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork52.ts b/tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts
similarity index 84%
rename from tests/cases/fourslash/inlayHintsShouldWork52.ts
rename to tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts
index 0da52a56cd562..0c26ecb595027 100644
--- a/tests/cases/fourslash/inlayHintsShouldWork52.ts
+++ b/tests/cases/fourslash/inlayHintsInteractiveParameterNamesWithComments.ts
@@ -1,5 +1,8 @@
///
+//// const fn = (x: any) => { }
+//// fn(/* nobody knows exactly what this param is */ 42);
+
//// function foo (aParameter: number, bParameter: number, cParameter: number) { }
//// foo(
@@ -35,6 +38,5 @@
verify.baselineInlayHints(undefined, {
includeInlayParameterNameHints: "literals",
- includeInlayFunctionLikeReturnTypeHints: true,
interactiveInlayHints: true
});
diff --git a/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts b/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts
new file mode 100644
index 0000000000000..c65514372f09f
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsInteractiveRestParameters1.ts
@@ -0,0 +1,14 @@
+///
+
+//// function foo1(a: number, ...b: number[]) {}
+//// foo1(1, 1, 1, 1);
+
+//// type Args2 = [a: number, b: number]
+//// declare function foo2(c: number, ...args: Args2);
+//// foo2(1, 2, 3)
+
+//// type Args3 = [number, number]
+//// declare function foo3(c: number, ...args: Args3);
+//// foo3(1, 2, 3)
+
+verify.baselineInlayHints(undefined, { includeInlayParameterNameHints: "literals", interactiveInlayHints: true });
diff --git a/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts b/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts
new file mode 100644
index 0000000000000..6df4c91c7481b
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsInteractiveRestParameters2.ts
@@ -0,0 +1,23 @@
+///
+
+////function foo(a: unknown, b: unknown, c: unknown) { }
+////function foo1(...x: [number, number | undefined]) {
+//// foo(...x, 3);
+////}
+////function foo2(...x: []) {
+//// foo(...x, 1, 2, 3);
+////}
+////function foo3(...x: [number, number?]) {
+//// foo(1, ...x);
+////}
+////function foo4(...x: [number, number?]) {
+//// foo(...x, 3);
+////}
+////function foo5(...x: [number, number]) {
+//// foo(...x, 3);
+////}
+
+verify.baselineInlayHints(undefined, {
+ includeInlayParameterNameHints: "all",
+ interactiveInlayHints: true,
+});
diff --git a/tests/cases/fourslash/inlayHintsInteractiveWithClosures.ts b/tests/cases/fourslash/inlayHintsInteractiveWithClosures.ts
new file mode 100644
index 0000000000000..e09cdbc980340
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsInteractiveWithClosures.ts
@@ -0,0 +1,18 @@
+///
+
+//// function foo1(a: number) {
+//// return (b: number) => {
+//// return a + b
+//// }
+//// }
+//// foo1(1)(2);
+
+//// function foo2(a: (b: number) => number) {
+//// return a(1) + 2
+//// }
+//// foo2((c: number) => c + 1);
+
+verify.baselineInlayHints(undefined, {
+ includeInlayParameterNameHints: "all",
+ interactiveInlayHints: true
+});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork34.ts b/tests/cases/fourslash/inlayHintsInterativeAnyParameter1.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork34.ts
rename to tests/cases/fourslash/inlayHintsInterativeAnyParameter1.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork35.ts b/tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork35.ts
rename to tests/cases/fourslash/inlayHintsInterativeAnyParameter2.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork47.ts b/tests/cases/fourslash/inlayHintsJsDocParameterNames.ts
similarity index 80%
rename from tests/cases/fourslash/inlayHintsShouldWork47.ts
rename to tests/cases/fourslash/inlayHintsJsDocParameterNames.ts
index 8bfb526bf2bae..5e7676d239501 100644
--- a/tests/cases/fourslash/inlayHintsShouldWork47.ts
+++ b/tests/cases/fourslash/inlayHintsJsDocParameterNames.ts
@@ -13,6 +13,11 @@
//// var y
//// y.foo(1, 2)
+//// /**
+//// * @type {string}
+//// */
+//// var z = ""
+
goTo.file('/a.js')
verify.baselineInlayHints(undefined, {
includeInlayParameterNameHints: "literals"
diff --git a/tests/cases/fourslash/inlayHintsShouldWork51.ts b/tests/cases/fourslash/inlayHintsMultifile1.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork51.ts
rename to tests/cases/fourslash/inlayHintsMultifile1.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork54.ts b/tests/cases/fourslash/inlayHintsNoHintWhenArgumentMatchesName.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork54.ts
rename to tests/cases/fourslash/inlayHintsNoHintWhenArgumentMatchesName.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork14.ts b/tests/cases/fourslash/inlayHintsNoParameterHints.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork14.ts
rename to tests/cases/fourslash/inlayHintsNoParameterHints.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork20.ts b/tests/cases/fourslash/inlayHintsNoVariableTypeHints.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork20.ts
rename to tests/cases/fourslash/inlayHintsNoVariableTypeHints.ts
diff --git a/tests/cases/fourslash/inlayHintsOverloadCall.ts b/tests/cases/fourslash/inlayHintsOverloadCall.ts
new file mode 100644
index 0000000000000..da2d231669d4b
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsOverloadCall.ts
@@ -0,0 +1,30 @@
+
+///
+
+//// interface Call {
+//// (a: number): void
+//// (b: number, c: number): void
+//// new (d: number): Call
+//// }
+//// declare const call: Call;
+//// call(1);
+//// call(1, 2);
+//// new call(1);
+
+//// declare function foo(w: number): void
+//// declare function foo(a: number, b: number): void;
+//// declare function foo(a: number | undefined, b: number | undefined): void;
+//// foo(1)
+//// foo(1, 2)
+
+//// class Class {
+//// constructor(a: number);
+//// constructor(b: number, c: number);
+//// constructor(b: number, c?: number) { }
+//// }
+//// new Class(1)
+//// new Class(1, 2)
+
+verify.baselineInlayHints(undefined, {
+ includeInlayParameterNameHints: "literals",
+});
diff --git a/tests/cases/fourslash/inlayHintsParameterNames.ts b/tests/cases/fourslash/inlayHintsParameterNames.ts
new file mode 100644
index 0000000000000..abcea666a37e1
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsParameterNames.ts
@@ -0,0 +1,49 @@
+///
+
+//// function foo1 (a: number, b: number) {}
+//// foo1(1, 2);
+
+//// function foo2 (a: number, { c }: any) {}
+//// foo2(1, { c: 1 });
+
+////const foo3 = (a = 1) => class { }
+////const C1 = class extends foo3(1) { }
+////class C2 extends foo3(1) { }
+
+////function foo4(a: number, b: number, c: number, d: number) {}
+////foo4(1, +1, -1, +"1");
+
+////function foo5(
+//// a: string,
+//// b: undefined,
+//// c: null,
+//// d: boolean,
+//// e: boolean,
+//// f: number,
+//// g: number,
+//// h: number,
+//// i: RegExp,
+//// j: bigint,
+////) {
+////}
+////foo5(
+//// "hello",
+//// undefined,
+//// null,
+//// true,
+//// false,
+//// Infinity,
+//// -Infinity,
+//// NaN,
+//// /hello/g,
+//// 123n,
+////);
+
+//// declare const unknownCall: any;
+//// unknownCall();
+
+////function trace(message: string) {}
+////trace(`${1}`);
+////trace(``);
+
+verify.baselineInlayHints(undefined, { includeInlayParameterNameHints: "literals" });
diff --git a/tests/cases/fourslash/inlayHintsParameterNamesInSpan1.ts b/tests/cases/fourslash/inlayHintsParameterNamesInSpan1.ts
new file mode 100644
index 0000000000000..6db9b21bee1c9
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsParameterNamesInSpan1.ts
@@ -0,0 +1,23 @@
+///
+
+//// function foo1 (a: number, b: number) {}
+//// function foo2 (c: number, d: number) {}
+//// function foo3 (e: number, f: number) {}
+//// function foo4 (g: number, h: number) {}
+//// function foo5 (i: number, j: number) {}
+//// function foo6 (k: number, i: number) {}
+
+//// function c1 () { foo1(/*a*/1, /*b*/2); }
+//// function c2 () { foo2(/*c*/1, /*d*/2); }
+//// function c3 () { foo3(/*e*/1, /*f*/2); }
+//// function c4 () { foo4(/*g*/1, /*h*/2); }
+//// function c5 () { foo5(/*i*/1, /*j*/2); }
+//// function c6 () { foo6(/*k*/1, /*l*/2); }
+
+const start = test.markerByName('c');
+const end = test.markerByName('h');
+const span = { start: start.position, length: end.position - start.position };
+
+verify.baselineInlayHints(span, {
+ includeInlayParameterNameHints: "literals",
+})
diff --git a/tests/cases/fourslash/inlayHintsParameterNamesInSpan2.ts b/tests/cases/fourslash/inlayHintsParameterNamesInSpan2.ts
new file mode 100644
index 0000000000000..7b9f4babead5b
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsParameterNamesInSpan2.ts
@@ -0,0 +1,23 @@
+///
+
+//// function foo1 (a: number, b: number) {}
+//// function foo2 (c: number, d: number) {}
+//// function foo3 (e: number, f: number) {}
+//// function foo4 (g: number, h: number) {}
+//// function foo5 (i: number, j: number) {}
+//// function foo6 (k: number, l: number) {}
+
+//// foo1(/*a*/1, /*b*/2);
+//// foo2(/*c*/1, /*d*/2);
+//// foo3(/*e*/1, /*f*/2);
+//// foo4(/*g*/1, /*h*/2);
+//// foo5(/*i*/1, /*j*/2);
+//// foo6(/*k*/1, /*l*/2);
+
+const start = test.markerByName('c');
+const end = test.markerByName('h');
+const span = { start: start.position, length: end.position - start.position };
+
+verify.baselineInlayHints(span, {
+ includeInlayParameterNameHints: "literals",
+});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork37.ts b/tests/cases/fourslash/inlayHintsPropertyDeclarations.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork37.ts
rename to tests/cases/fourslash/inlayHintsPropertyDeclarations.ts
diff --git a/tests/cases/fourslash/inlayHintsRestParameters1.ts b/tests/cases/fourslash/inlayHintsRestParameters1.ts
new file mode 100644
index 0000000000000..9b0aaa4525821
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsRestParameters1.ts
@@ -0,0 +1,14 @@
+///
+
+//// function foo1(a: number, ...b: number[]) {}
+//// foo1(1, 1, 1, 1);
+
+//// type Args2 = [a: number, b: number]
+//// declare function foo2(c: number, ...args: Args2);
+//// foo2(1, 2, 3)
+
+//// type Args3 = [number, number]
+//// declare function foo3(c: number, ...args: Args3);
+//// foo3(1, 2, 3)
+
+verify.baselineInlayHints(undefined, { includeInlayParameterNameHints: "literals" });
diff --git a/tests/cases/fourslash/inlayHintsRestParameters2.ts b/tests/cases/fourslash/inlayHintsRestParameters2.ts
new file mode 100644
index 0000000000000..acbccf5462e4d
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsRestParameters2.ts
@@ -0,0 +1,22 @@
+///
+
+////function foo(a: unknown, b: unknown, c: unknown) { }
+////function foo1(...x: [number, number | undefined]) {
+//// foo(...x, 3);
+////}
+////function foo2(...x: []) {
+//// foo(...x, 1, 2, 3);
+////}
+////function foo3(...x: [number, number?]) {
+//// foo(1, ...x);
+////}
+////function foo4(...x: [number, number?]) {
+//// foo(...x, 3);
+////}
+////function foo5(...x: [number, number]) {
+//// foo(...x, 3);
+////}
+
+verify.baselineInlayHints(undefined, {
+ includeInlayParameterNameHints: "all"
+});
diff --git a/tests/cases/fourslash/inlayHintsReturnType.ts b/tests/cases/fourslash/inlayHintsReturnType.ts
new file mode 100644
index 0000000000000..6a22cd80fdb4d
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsReturnType.ts
@@ -0,0 +1,26 @@
+///
+
+//// function foo1 () {
+//// return 1
+//// }
+
+//// function foo2 (): number {
+//// return 1
+//// }
+
+//// class C {
+//// foo() {
+//// return 1
+//// }
+//// }
+
+//// const a = () => 1
+
+//// const b = function () { return 1 }
+
+//// const c = (b) => 1
+//// const d = b => 1
+
+verify.baselineInlayHints(undefined, {
+ includeInlayFunctionLikeReturnTypeHints: true,
+});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork1.ts b/tests/cases/fourslash/inlayHintsShouldWork1.ts
deleted file mode 100644
index ee4db03b2f5bf..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork1.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-///
-
-//// function foo (a: number, b: number) {}
-//// foo(1, 2);
-
-verify.baselineInlayHints(undefined, { includeInlayParameterNameHints: "literals", interactiveInlayHints: true });
diff --git a/tests/cases/fourslash/inlayHintsShouldWork10.ts b/tests/cases/fourslash/inlayHintsShouldWork10.ts
deleted file mode 100644
index 7731170b2d775..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork10.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// declare const unknownCall: any;
-//// unknownCall();
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork11.ts b/tests/cases/fourslash/inlayHintsShouldWork11.ts
deleted file mode 100644
index 66df531ce648e..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork11.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-///
-
-//// function foo(a: number) {
-//// return (b: number) => {
-//// return a + b
-//// }
-//// }
-//// foo(1)(2);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork12.ts b/tests/cases/fourslash/inlayHintsShouldWork12.ts
deleted file mode 100644
index 8ddcf14b07e09..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork12.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-///
-
-//// function foo(a: (b: number) => number) {
-//// return a(1) + 2
-//// }
-
-//// foo((c: number) => c + 1);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork13.ts b/tests/cases/fourslash/inlayHintsShouldWork13.ts
deleted file mode 100644
index 64d387df866ef..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork13.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-//// function foo (a: number, b: number) {}
-//// declare const a: 1;
-//// foo(a, 2);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all",
- includeInlayParameterNameHintsWhenArgumentMatchesName: false,
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork17.ts b/tests/cases/fourslash/inlayHintsShouldWork17.ts
deleted file mode 100644
index e8483d0cd8e1a..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork17.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-
-//// const a = { a: 123 };
-
-verify.baselineInlayHints(undefined, {
- includeInlayVariableTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork18.ts b/tests/cases/fourslash/inlayHintsShouldWork18.ts
deleted file mode 100644
index 62c1481b83f77..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork18.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// class Class {}
-//// const a = new Class();
-
-verify.baselineInlayHints(undefined, {
- includeInlayVariableTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork19.ts b/tests/cases/fourslash/inlayHintsShouldWork19.ts
deleted file mode 100644
index 84ebc9abf4bd0..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork19.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-
-//// const a = () => 123;
-
-verify.baselineInlayHints(undefined, {
- includeInlayVariableTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork2.ts b/tests/cases/fourslash/inlayHintsShouldWork2.ts
deleted file mode 100644
index ddfac24869282..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork2.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-///
-
-//// function foo (a: number, { c }: any) {}
-//// foo(1, { c: 1 });
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork21.ts b/tests/cases/fourslash/inlayHintsShouldWork21.ts
deleted file mode 100644
index 49a1bf8b0bb7e..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork21.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-
-//// const a;
-
-verify.baselineInlayHints(undefined, {
- includeInlayVariableTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork22.ts b/tests/cases/fourslash/inlayHintsShouldWork22.ts
deleted file mode 100644
index 02e5b5537e4a5..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork22.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-
-////const a = "I'm very very very very very very very very very long";
-
-verify.baselineInlayHints(undefined, {
- includeInlayVariableTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork24.ts b/tests/cases/fourslash/inlayHintsShouldWork24.ts
deleted file mode 100644
index 70dd4f6e48739..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork24.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// type F = (a: string, b: number) => void
-//// const f: F = (a, b) => { }
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork25.ts b/tests/cases/fourslash/inlayHintsShouldWork25.ts
deleted file mode 100644
index 9a930646312a5..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork25.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// function foo (cb: (a: string) => void) {}
-//// foo((a) => { })
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork26.ts b/tests/cases/fourslash/inlayHintsShouldWork26.ts
deleted file mode 100644
index 3cd976085d98f..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork26.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// function foo (cb: (a: Exclude<1 | 2 | 3, 1>) => void) {}
-//// foo((a) => { })
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork27.ts b/tests/cases/fourslash/inlayHintsShouldWork27.ts
deleted file mode 100644
index 1ef281b2a1fc0..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork27.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-//// function foo (a: (b: (c: (d: Exclude<1 | 2 | 3, 1>) => void) => void) => void) {}
-//// foo(a => {
-//// a(d => {})
-//// })
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork28.ts b/tests/cases/fourslash/inlayHintsShouldWork28.ts
deleted file mode 100644
index 92debc5023431..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork28.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// type F = (a: string, b: number) => void
-//// const f: F = (a, b: number) => { }
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork29.ts b/tests/cases/fourslash/inlayHintsShouldWork29.ts
deleted file mode 100644
index bd91185d11570..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork29.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-//// function foo (a: (b: (c: (d: Exclude<1 | 2 | 3, 1>) => void) => void) => void) {}
-//// foo(a => {
-//// a(d => {})
-//// })
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all",
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork3.ts b/tests/cases/fourslash/inlayHintsShouldWork3.ts
deleted file mode 100644
index e5206d92fe437..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork3.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-///
-
-//// function foo (a: number, ...b: number[]) {}
-//// foo(1, 1, 1, 1);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork30.ts b/tests/cases/fourslash/inlayHintsShouldWork30.ts
deleted file mode 100644
index 49e1140234776..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork30.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// function f(v: T, a: (v: T) => void) {}
-//// f(1, a => { })
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork31.ts b/tests/cases/fourslash/inlayHintsShouldWork31.ts
deleted file mode 100644
index ad5cb8564d6a1..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork31.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-//// type F = (a: {
-//// a: number
-//// b: string
-//// }) => void
-//// const f: F = (a) => { }
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork36.ts b/tests/cases/fourslash/inlayHintsShouldWork36.ts
deleted file mode 100644
index 92b425029e1cf..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork36.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-//// function foo (a: number, b: number) {}
-//// declare const a: 1;
-//// foo(a, 2);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all",
- includeInlayParameterNameHintsWhenArgumentMatchesName: true,
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork38.ts b/tests/cases/fourslash/inlayHintsShouldWork38.ts
deleted file mode 100644
index a5e66f07c9b59..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork38.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-///
-
-//// function foo () {
-//// return 1
-//// }
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionLikeReturnTypeHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork39.ts b/tests/cases/fourslash/inlayHintsShouldWork39.ts
deleted file mode 100644
index 4a20875cc43b2..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork39.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-///
-
-//// function foo (): number {
-//// return 1
-//// }
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionLikeReturnTypeHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork4.ts b/tests/cases/fourslash/inlayHintsShouldWork4.ts
deleted file mode 100644
index 84b4cef862f2a..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork4.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-///
-
-//// declare function foo(w: number): void
-//// declare function foo(a: number, b: number): void;
-//// declare function foo(a: number | undefined, b: number | undefined): void;
-
-//// foo(1)
-//// foo(1, 2)
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork40.ts b/tests/cases/fourslash/inlayHintsShouldWork40.ts
deleted file mode 100644
index 3cef398828d39..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork40.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-//// class C {
-//// foo() {
-//// return 1
-//// }
-//// }
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionLikeReturnTypeHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork41.ts b/tests/cases/fourslash/inlayHintsShouldWork41.ts
deleted file mode 100644
index 81037d2946a6f..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork41.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-
-//// const a = () => 1
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionLikeReturnTypeHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork42.ts b/tests/cases/fourslash/inlayHintsShouldWork42.ts
deleted file mode 100644
index 5b736dc03e435..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork42.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-///
-
-//// const a = function () { return 1}
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionLikeReturnTypeHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork43.ts b/tests/cases/fourslash/inlayHintsShouldWork43.ts
deleted file mode 100644
index 56b57d23e2fc1..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork43.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// const a = (b) => 1
-//// const aa = b => 1
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionLikeReturnTypeHints: true,
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork48.ts b/tests/cases/fourslash/inlayHintsShouldWork48.ts
deleted file mode 100644
index 74d5504eea322..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork48.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// declare function foo(t: T): T
-//// const x = foo(1)
-
-verify.baselineInlayHints(undefined, {
- includeInlayVariableTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork49.ts b/tests/cases/fourslash/inlayHintsShouldWork49.ts
deleted file mode 100644
index 1646b358c099f..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork49.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-///
-
-// @allowJs: true
-// @checkJs: true
-
-// @Filename: /a.js
-//// /**
-//// * @type {string}
-//// */
-//// var x = ""
-
-
-goTo.file('/a.js')
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork5.ts b/tests/cases/fourslash/inlayHintsShouldWork5.ts
deleted file mode 100644
index 879299e69fa52..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork5.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-//// type Args = [a: number, b: number]
-//// declare function foo(c: number, ...args: Args);
-//// foo(1, 2, 3)
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork50.ts b/tests/cases/fourslash/inlayHintsShouldWork50.ts
deleted file mode 100644
index c3c6355076f3e..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork50.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-///
-
-//// type T = [a: string, b: boolean, ...c: number[]]
-//// declare function foo(f: number, ...args: T):void
-//// declare function foo1(f1: number, ...args: string[]): void
-//// foo(1, '', false, 1, 2)
-//// foo1(1, "", "")
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork53.ts b/tests/cases/fourslash/inlayHintsShouldWork53.ts
deleted file mode 100644
index 1ff73c959f756..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork53.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-///
-
-//// const fn = (x: any) => { }
-//// fn(/* nobody knows exactly what this param is */ 42);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork55.ts b/tests/cases/fourslash/inlayHintsShouldWork55.ts
deleted file mode 100644
index cd08695a76896..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork55.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-///
-
-////class Foo {
-//// get foo() { return 1; }
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionLikeReturnTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork57.ts b/tests/cases/fourslash/inlayHintsShouldWork57.ts
deleted file mode 100644
index 93ec9b1412cb6..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork57.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-////class Foo {
-//// #value = 0;
-//// get foo(): number { return this.#value; }
-//// set foo(value) { this.#value = value; }
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork58.ts b/tests/cases/fourslash/inlayHintsShouldWork58.ts
deleted file mode 100644
index 0647f60dc8d50..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork58.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-////class Foo {
-//// #value = 0;
-//// get foo(): number { return this.#value; }
-//// set foo(value: number) { this.#value = value; }
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork6.ts b/tests/cases/fourslash/inlayHintsShouldWork6.ts
deleted file mode 100644
index 49bcf7146fa2d..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork6.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-//// type Args = [number, number]
-//// declare function foo(c: number, ...args: Args);
-//// foo(1, 2, 3)
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork60.ts b/tests/cases/fourslash/inlayHintsShouldWork60.ts
deleted file mode 100644
index db851815825d7..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork60.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-///
-
-// @allowJs: true
-// @checkJs: true
-// @Filename: /a.js
-////class Foo {
-//// #value = 0;
-//// get foo() { return this.#value; }
-//// set foo(value) { this.#value = value; }
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork61.ts b/tests/cases/fourslash/inlayHintsShouldWork61.ts
deleted file mode 100644
index 8729e198f9a9e..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork61.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-///
-
-////class Foo {
-//// set foo(value: number) {}
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionLikeReturnTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork62.ts b/tests/cases/fourslash/inlayHintsShouldWork62.ts
deleted file mode 100644
index 33325804ab69a..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork62.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-////function trace(message: string) {}
-////trace(`${1}`);
-////trace(``);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork63.ts b/tests/cases/fourslash/inlayHintsShouldWork63.ts
deleted file mode 100644
index 7be2c0627afe6..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork63.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-///
-
-////function foo(a: number, b: number, c: number, d: number) {}
-////foo(1, +1, -1, +"1");
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork64.ts b/tests/cases/fourslash/inlayHintsShouldWork64.ts
deleted file mode 100644
index 0196ccc8cf32e..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork64.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-///
-
-////function foo(
-//// a: string,
-//// b: undefined,
-//// c: null,
-//// d: boolean,
-//// e: boolean,
-//// f: number,
-//// g: number,
-//// h: number,
-//// i: RegExp,
-//// j: bigint,
-////) {
-////}
-////
-////foo(
-//// "hello",
-//// undefined,
-//// null,
-//// true,
-//// false,
-//// Infinity,
-//// -Infinity,
-//// NaN,
-//// /hello/g,
-//// 123n,
-////);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork65.ts b/tests/cases/fourslash/inlayHintsShouldWork65.ts
deleted file mode 100644
index 6e3491b59fc68..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork65.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-///
-
-//// type F = (a: string, b: number) => void
-//// const f: F = (a, b = 1) => { }
-
-verify.baselineInlayHints(undefined, {
- includeInlayFunctionParameterTypeHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork68.ts b/tests/cases/fourslash/inlayHintsShouldWork68.ts
deleted file mode 100644
index 0ccecf97ba532..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork68.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-///
-
-////const foo = (a = 1) => class { }
-////
-////const C1 = class extends foo(1) { }
-////class C2 extends foo(1) { }
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork7.ts b/tests/cases/fourslash/inlayHintsShouldWork7.ts
deleted file mode 100644
index ec1a32545c2a6..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork7.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-///
-
-//// interface Call {
-//// (a: number): void
-//// (b: number, c: number): void
-//// }
-//// declare const call: Call;
-//// call(1);
-//// call(1, 2);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork70.ts b/tests/cases/fourslash/inlayHintsShouldWork70.ts
deleted file mode 100644
index 6b99d98ee3424..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork70.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-////function foo(a: unknown, b: unknown, c: unknown) { }
-////function bar(...x: [number, number]) {
-//// foo(...x, 3);
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork71.ts b/tests/cases/fourslash/inlayHintsShouldWork71.ts
deleted file mode 100644
index d0fe31b37b631..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork71.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-////function foo(a: unknown, b: unknown, c: unknown, d: unknown) { }
-////function bar(...x: [number, number, number]) {
-//// foo(...x, 3);
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork72.ts b/tests/cases/fourslash/inlayHintsShouldWork72.ts
deleted file mode 100644
index 8e7a927616a46..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork72.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-////function foo(a: unknown, b: unknown, c: unknown) { }
-////function bar(...x: [number, number?]) {
-//// foo(...x, 3);
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork73.ts b/tests/cases/fourslash/inlayHintsShouldWork73.ts
deleted file mode 100644
index b533daf67d619..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork73.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-////function foo(a: unknown, b: unknown, c: unknown) { }
-////function bar(...x: [number, number?]) {
-//// foo(1, ...x);
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork74.ts b/tests/cases/fourslash/inlayHintsShouldWork74.ts
deleted file mode 100644
index 920de7202bf21..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork74.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-////function foo(a: unknown, b: unknown, c: unknown) { }
-////function bar(...x: [number, number | undefined]) {
-//// foo(...x, 3);
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork75.ts b/tests/cases/fourslash/inlayHintsShouldWork75.ts
deleted file mode 100644
index 413f34d39e6e4..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork75.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-////function foo(a: unknown, b: unknown, c: unknown) { }
-////function bar(...x: []) {
-//// foo(...x, 1, 2, 3);
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork76.ts b/tests/cases/fourslash/inlayHintsShouldWork76.ts
deleted file mode 100644
index 3ebfcd588d8e8..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork76.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-///
-
-////function foo({ a, b }: { a: unknown, b: unknown }, c: unknown, d: unknown) { }
-////function bar(...x: [{ a: unknown, b: unknown }, number]) {
-//// foo(...x, 1);
-////}
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "all"
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork8.ts b/tests/cases/fourslash/inlayHintsShouldWork8.ts
deleted file mode 100644
index 59ec8b1cd3a87..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork8.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-///
-
-//// class Class {
-//// constructor(a: number);
-//// constructor(b: number, c: number);
-//// constructor(b: number, c?: number) { }
-//// }
-//// new Class(1)
-//// new Class(1, 2)
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork9.ts b/tests/cases/fourslash/inlayHintsShouldWork9.ts
deleted file mode 100644
index 71ada9ddf3c49..0000000000000
--- a/tests/cases/fourslash/inlayHintsShouldWork9.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-///
-
-//// interface Call {
-//// (a: number): void
-//// (b: number, c: number): void
-//// new (d: number): Call
-//// }
-//// declare const call: Call;
-//// call(1);
-//// call(1, 2);
-//// new call(1);
-
-verify.baselineInlayHints(undefined, {
- includeInlayParameterNameHints: "literals",
- interactiveInlayHints: true
-});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork67.ts b/tests/cases/fourslash/inlayHintsTypeMatchesName.ts
similarity index 100%
rename from tests/cases/fourslash/inlayHintsShouldWork67.ts
rename to tests/cases/fourslash/inlayHintsTypeMatchesName.ts
diff --git a/tests/cases/fourslash/inlayHintsShouldWork15.ts b/tests/cases/fourslash/inlayHintsVariableTypes1.ts
similarity index 87%
rename from tests/cases/fourslash/inlayHintsShouldWork15.ts
rename to tests/cases/fourslash/inlayHintsVariableTypes1.ts
index b19bfc34fc64d..3faeaeb05d68c 100644
--- a/tests/cases/fourslash/inlayHintsShouldWork15.ts
+++ b/tests/cases/fourslash/inlayHintsVariableTypes1.ts
@@ -7,19 +7,22 @@
////const a = "a";
////const b = 1;
////const c = true;
-////
+
////const d = {} as Foo;
////const e = {};
////const f = {} as const;
////const g = (({} as const));
-////
+
////const h = new C();
////const i = new N.C();
////const j = ((((new C()))));
-////
+
////const k = { a: 1, b: 1 };
////const l = ((({ a: 1, b: 1 })));
+//// const m = () => 123;
+//// const n;
+
verify.baselineInlayHints(undefined, {
includeInlayVariableTypeHints: true
});
diff --git a/tests/cases/fourslash/inlayHintsShouldWork56.ts b/tests/cases/fourslash/inlayHintsVariableTypes2.ts
similarity index 79%
rename from tests/cases/fourslash/inlayHintsShouldWork56.ts
rename to tests/cases/fourslash/inlayHintsVariableTypes2.ts
index 78b64dd24b695..244d9eb71d4dc 100644
--- a/tests/cases/fourslash/inlayHintsShouldWork56.ts
+++ b/tests/cases/fourslash/inlayHintsVariableTypes2.ts
@@ -9,6 +9,9 @@
//// const [ first, second ] = array;
//// const [] = array;
+//// declare function foo(t: T): T
+//// const x = foo(1)
+
verify.baselineInlayHints(undefined, {
includeInlayVariableTypeHints: true
});
diff --git a/tests/cases/fourslash/inlayHintsWithClosures.ts b/tests/cases/fourslash/inlayHintsWithClosures.ts
new file mode 100644
index 0000000000000..50a09bec313ce
--- /dev/null
+++ b/tests/cases/fourslash/inlayHintsWithClosures.ts
@@ -0,0 +1,17 @@
+///
+
+//// function foo1(a: number) {
+//// return (b: number) => {
+//// return a + b
+//// }
+//// }
+//// foo1(1)(2);
+
+//// function foo2(a: (b: number) => number) {
+//// return a(1) + 2
+//// }
+//// foo2((c: number) => c + 1);
+
+verify.baselineInlayHints(undefined, {
+ includeInlayParameterNameHints: "all",
+});