diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts
index b4e40fbc44f..c8aaf804239 100644
--- a/src/harness/fourslash.ts
+++ b/src/harness/fourslash.ts
@@ -1294,6 +1294,22 @@ namespace FourSlash {
});
}
+ public baselineQuickInfo() {
+ let baselineFile = this.testData.globalOptions[metadataOptionNames.baselineFile];
+ if (!baselineFile) {
+ baselineFile = ts.getBaseFileName(this.activeFile.fileName).replace(".ts", ".baseline");
+ }
+
+ Harness.Baseline.runBaseline(
+ baselineFile,
+ () => stringify(
+ this.testData.markers.map(marker => ({
+ marker: marker,
+ quickInfo: this.languageService.getQuickInfoAtPosition(marker.fileName, marker.position)
+ }))
+ ));
+ }
+
public printBreakpointLocation(pos: number) {
Harness.IO.log("\n**Pos: " + pos + " " + this.spanInfoToString(pos, this.getBreakpointStatementLocation(pos), " "));
}
@@ -3103,6 +3119,10 @@ namespace FourSlashInterface {
this.state.baselineGetEmitOutput();
}
+ public baselineQuickInfo() {
+ this.state.baselineQuickInfo();
+ }
+
public nameOrDottedNameSpanTextIs(text: string) {
this.state.verifyCurrentNameOrDottedNameSpanText(text);
}
diff --git a/tests/baselines/reference/quickInfoDisplayPartsArrowFunctionExpression.baseline b/tests/baselines/reference/quickInfoDisplayPartsArrowFunctionExpression.baseline
new file mode 100644
index 00000000000..7ee4e5b25cd
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsArrowFunctionExpression.baseline
@@ -0,0 +1,514 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts",
+ "position": 4
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 4,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "x",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "any",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts",
+ "position": 8
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 8,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "any",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts",
+ "position": 21
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 21,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "y",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "any",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "any",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts",
+ "position": 26
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 26,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "any",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts",
+ "position": 29
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 29,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "any",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts",
+ "position": 43
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 43,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "z",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts",
+ "position": 48
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 48,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts",
+ "position": 70
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 70,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "z2",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsClass.baseline b/tests/baselines/reference/quickInfoDisplayPartsClass.baseline
new file mode 100644
index 00000000000..0b048b737a6
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsClass.baseline
@@ -0,0 +1,199 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts",
+ "position": 6
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 6,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts",
+ "position": 16
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 16,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts",
+ "position": 32
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 32,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts",
+ "position": 41
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 41,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClass.ts",
+ "position": 48
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 48,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsClassAccessors.baseline b/tests/baselines/reference/quickInfoDisplayPartsClassAccessors.baseline
new file mode 100644
index 00000000000..b0c27fd9d28
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsClassAccessors.baseline
@@ -0,0 +1,1738 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 25
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 25,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 72
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 72,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 118
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 118,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 167
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 167,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 216
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 216,
+ "length": 17
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 269
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 269,
+ "length": 17
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 317
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 317,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 364
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 364,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 418
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private,static",
+ "textSpan": {
+ "start": 418,
+ "length": 21
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 480
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private,static",
+ "textSpan": {
+ "start": 480,
+ "length": 21
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 542
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected,static",
+ "textSpan": {
+ "start": 542,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 608
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected,static",
+ "textSpan": {
+ "start": 608,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 703
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 703,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 736
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 736,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 770
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 770,
+ "length": 17
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 803
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 803,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 833
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private,static",
+ "textSpan": {
+ "start": 833,
+ "length": 21
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 870
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected,static",
+ "textSpan": {
+ "start": 870,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 908
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 908,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 942
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 942,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 977
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 977,
+ "length": 17
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1011
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 1011,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1042
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private,static",
+ "textSpan": {
+ "start": 1042,
+ "length": 21
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1080
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected,static",
+ "textSpan": {
+ "start": 1080,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1162
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 1162,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1172
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 1172,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1192
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 1192,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1194
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 1194,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1210
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 1210,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1220
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 1220,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1240
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 1240,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts",
+ "position": 1242
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 1242,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsClassConstructor.baseline b/tests/baselines/reference/quickInfoDisplayPartsClassConstructor.baseline
new file mode 100644
index 00000000000..76ca00a4048
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsClassConstructor.baseline
@@ -0,0 +1,1696 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 14
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 14,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 42
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 42,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 58
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 58,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 67
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 67,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 74
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 74,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 104
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 104,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 132
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 132,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 160
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 160,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 194
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 194,
+ "length": 22
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloadsInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 223
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 223,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 252
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 252,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloadsInstance2",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 282
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 282,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 306
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 306,
+ "length": 17
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloadsVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 326
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 326,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 377
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 377,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 405
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 405,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 433
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 433,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 462
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 462,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 496
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 496,
+ "length": 30
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloadsInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 533
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 533,
+ "length": 22
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 570
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 570,
+ "length": 31
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloadsInstance2",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 608
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 608,
+ "length": 22
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 640
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 640,
+ "length": 31
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloadsInstance3",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 678
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 678,
+ "length": 22
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "x",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 712
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 712,
+ "length": 25
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloadsVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts",
+ "position": 740
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 740,
+ "length": 22
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cWithMultipleOverloads",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsClassMethod.baseline b/tests/baselines/reference/quickInfoDisplayPartsClassMethod.baseline
new file mode 100644
index 00000000000..d6f3f187d02
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsClassMethod.baseline
@@ -0,0 +1,982 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 21
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 21,
+ "length": 12
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 52
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 52,
+ "length": 13
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 86
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 86,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 119
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 119,
+ "length": 12
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 157
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "private,static",
+ "textSpan": {
+ "start": 157,
+ "length": 19
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateStaticMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 204
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "protected,static",
+ "textSpan": {
+ "start": 204,
+ "length": 21
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedStaticMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 260
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 260,
+ "length": 12
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 289
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 289,
+ "length": 13
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 319
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 319,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 348
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 348,
+ "length": 12
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 374
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "private,static",
+ "textSpan": {
+ "start": 374,
+ "length": 19
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateStaticMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 407
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "protected,static",
+ "textSpan": {
+ "start": 407,
+ "length": 21
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedStaticMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 465
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 465,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 475
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 475,
+ "length": 12
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 491
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 491,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts",
+ "position": 493
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 493,
+ "length": 12
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticMethod",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsClassProperty.baseline b/tests/baselines/reference/quickInfoDisplayPartsClassProperty.baseline
new file mode 100644
index 00000000000..b49fb80c38a
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsClassProperty.baseline
@@ -0,0 +1,870 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 21
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 21,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 57
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 57,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 96
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 96,
+ "length": 17
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 134
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 134,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 177
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private,static",
+ "textSpan": {
+ "start": 177,
+ "length": 21
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 229
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected,static",
+ "textSpan": {
+ "start": 229,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 290
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 290,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 319
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 319,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 349
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 349,
+ "length": 17
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 378
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 378,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 404
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "private,static",
+ "textSpan": {
+ "start": 404,
+ "length": 21
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "privateStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 437
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "protected,static",
+ "textSpan": {
+ "start": 437,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "protectedStaticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 495
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 495,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 505
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 505,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "publicProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 521
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 521,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts",
+ "position": 523
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 523,
+ "length": 14
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "staticProperty",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsConst.baseline b/tests/baselines/reference/quickInfoDisplayPartsConst.baseline
new file mode 100644
index 00000000000..e5008bae3f3
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsConst.baseline
@@ -0,0 +1,1186 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 6
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 6,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 41
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 41,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 45
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 45,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 75
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 75,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 113
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 113,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 138
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 138,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "d",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 173
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 173,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "e",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 195
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 195,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 229
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 229,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "g",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 233
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 233,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 236
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 236,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 247
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 247,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 312
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 312,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "i",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 316
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 316,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 319
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 319,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsConst.ts",
+ "position": 326
+ },
+ "quickInfo": {
+ "kind": "const",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 326,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsEnum1.baseline b/tests/baselines/reference/quickInfoDisplayPartsEnum1.baseline
new file mode 100644
index 00000000000..142840b9f01
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsEnum1.baseline
@@ -0,0 +1,1392 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 5
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 5,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 13
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 13,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e1",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 21
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 21,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e2",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 34
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 34,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e3",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 43
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 43,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 54
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 54,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 57
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 57,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 69
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 69,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 71
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 71,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e1",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 75
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 75,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 87
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 87,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 89
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 89,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e2",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 93
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 93,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 105
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 105,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 107
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 107,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e3",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 122
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 122,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 135
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 135,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e1",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 143
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 143,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e2",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 156
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 156,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e3",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 165
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 165,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 177
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 177,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 185
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 185,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 198
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 198,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 205
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 205,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e1",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 209
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 209,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 222
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 222,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 229
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 229,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e2",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 233
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 233,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 246
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 246,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts",
+ "position": 253
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 253,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "e3",
+ "kind": "enumMemberName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsEnum2.baseline b/tests/baselines/reference/quickInfoDisplayPartsEnum2.baseline
new file mode 100644
index 00000000000..efdff818b0f
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsEnum2.baseline
@@ -0,0 +1,1440 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 5
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 5,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 13
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 13,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e1\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 23
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 23,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "'e2'",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 38
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 38,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e3\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 49
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 49,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 60
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 60,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 63
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 63,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 75
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 75,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 77
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 77,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e1\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 81
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 81,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 93
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 93,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 95
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 95,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "'e2'",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 99
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 99,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 111
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 111,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 113
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 113,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e3\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 128
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 128,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 141
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 141,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e1\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 151
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 151,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "'e2'",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 166
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 166,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e3\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 177
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 177,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 189
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 189,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 197
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 197,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 210
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 210,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 217
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 217,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e1\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 221
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 221,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 234
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 234,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 241
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 241,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "'e2'",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 245
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 245,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 258
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 258,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts",
+ "position": 265
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 265,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e3\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsEnum3.baseline b/tests/baselines/reference/quickInfoDisplayPartsEnum3.baseline
new file mode 100644
index 00000000000..919816394e2
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsEnum3.baseline
@@ -0,0 +1,1440 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 5
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 5,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 13
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 13,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e1\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 23
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 23,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "'e2'",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 38
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 38,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e3\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 49
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 49,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 60
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 60,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 63
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 63,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 75
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 75,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 77
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 77,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e1\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 84
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 84,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 96
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 96,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 98
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 98,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "'e2'",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 105
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 105,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 117
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 117,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 119
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 119,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "E",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e3\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 137
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 137,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 150
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 150,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e1\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 160
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 160,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "'e2'",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 175
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 175,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e3\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 186
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 186,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 198
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 198,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 206
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 206,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 219
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 219,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 226
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 226,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e1\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "0",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 233
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 233,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 246
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 246,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 253
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 253,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "'e2'",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "10",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 260
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 260,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "eInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 273
+ },
+ "quickInfo": {
+ "kind": "enum",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 273,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "const",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "enum",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts",
+ "position": 280
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 280,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "enum member",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "constE",
+ "kind": "enumName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"e3\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "11",
+ "kind": "numericLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsExternalModuleAlias_file0.baseline b/tests/baselines/reference/quickInfoDisplayPartsExternalModuleAlias_file0.baseline
new file mode 100644
index 00000000000..78667e7c6e6
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsExternalModuleAlias_file0.baseline
@@ -0,0 +1,288 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts",
+ "position": 7
+ },
+ "quickInfo": {
+ "kind": "alias",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 7,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "import",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a1",
+ "kind": "aliasName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "require",
+ "kind": "keyword"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts",
+ "position": 20
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 20,
+ "length": 50
+ },
+ "displayParts": [
+ {
+ "text": "module",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a1",
+ "kind": "aliasName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts",
+ "position": 77
+ },
+ "quickInfo": {
+ "kind": "alias",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 77,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "import",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a1",
+ "kind": "aliasName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "require",
+ "kind": "keyword"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts",
+ "position": 102
+ },
+ "quickInfo": {
+ "kind": "alias",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 102,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "import",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a2",
+ "kind": "aliasName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "require",
+ "kind": "keyword"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts",
+ "position": 115
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 115,
+ "length": 50
+ },
+ "displayParts": [
+ {
+ "text": "module",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a1",
+ "kind": "aliasName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias_file1.ts",
+ "position": 172
+ },
+ "quickInfo": {
+ "kind": "alias",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 172,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "import",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a2",
+ "kind": "aliasName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "require",
+ "kind": "keyword"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsExternalModules.baseline b/tests/baselines/reference/quickInfoDisplayPartsExternalModules.baseline
new file mode 100644
index 00000000000..fa548470a76
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsExternalModules.baseline
@@ -0,0 +1,687 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 17
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 17,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 29
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 29,
+ "length": 26
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "namespaceElemWithoutExport",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 77
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 77,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "namespaceElemWithExport",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 120
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 120,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 124
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 124,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 138
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 138,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 148
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 148,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 168
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 168,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 171
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 171,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 184
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 184,
+ "length": 26
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "namespaceElemWithoutExport",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 232
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 232,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "namespaceElemWithExport",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 275
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 275,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "x",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 279
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 279,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 282
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 282,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 297
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 297,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "y",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 307
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 307,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts",
+ "position": 310
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 310,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsFunction.baseline b/tests/baselines/reference/quickInfoDisplayPartsFunction.baseline
new file mode 100644
index 00000000000..6ac80589629
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsFunction.baseline
@@ -0,0 +1,1432 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 9
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 9,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "param",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "optionalParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "paramWithInitializer",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "...",
+ "kind": "punctuation"
+ },
+ {
+ "text": "restParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 121
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 121,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 166
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 166,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 211
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 211,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 267
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 267,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 313
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 313,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 359
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 359,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 407
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 407,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 455
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 455,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "param",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "optionalParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "paramWithInitializer",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "...",
+ "kind": "punctuation"
+ },
+ {
+ "text": "restParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 469
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 469,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 495
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 495,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 516
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 516,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 543
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 543,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts",
+ "position": 565
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 565,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsFunctionExpression.baseline b/tests/baselines/reference/quickInfoDisplayPartsFunctionExpression.baseline
new file mode 100644
index 00000000000..ec943e3ac7c
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsFunctionExpression.baseline
@@ -0,0 +1,352 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts",
+ "position": 4
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 4,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "x",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts",
+ "position": 17
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 17,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts",
+ "position": 29
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 29,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts",
+ "position": 43
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 43,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "y",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts",
+ "position": 74
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 74,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo1",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts",
+ "position": 87
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 87,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo1",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsInterface.baseline b/tests/baselines/reference/quickInfoDisplayPartsInterface.baseline
new file mode 100644
index 00000000000..43b9faa9540
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsInterface.baseline
@@ -0,0 +1,101 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts",
+ "position": 10
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 10,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "i",
+ "kind": "interfaceName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts",
+ "position": 20
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 20,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "i",
+ "kind": "interfaceName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts",
+ "position": 31
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 31,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "i",
+ "kind": "interfaceName"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsInterfaceMembers.baseline b/tests/baselines/reference/quickInfoDisplayPartsInterfaceMembers.baseline
new file mode 100644
index 00000000000..170c7ed0bff
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsInterfaceMembers.baseline
@@ -0,0 +1,507 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 18
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 18,
+ "length": 8
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 40
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 40,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 109
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 109,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 119
+ },
+ "quickInfo": {
+ "kind": "property",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 119,
+ "length": 8
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "property",
+ "kind": "propertyName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 130
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 130,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 140
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 140,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 150
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 150,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 167
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 167,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "anotherInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts",
+ "position": 189
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 189,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsLet.baseline b/tests/baselines/reference/quickInfoDisplayPartsLet.baseline
new file mode 100644
index 00000000000..2153c0b132b
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsLet.baseline
@@ -0,0 +1,1186 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 4
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 4,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 37
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 37,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 41
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 41,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 69
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 69,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 105
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 105,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 128
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 128,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "d",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 161
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 161,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "e",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 181
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 181,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 202
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 202,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "g",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 206
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 206,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 209
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 209,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 218
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 218,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 272
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 272,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "i",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 276
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 276,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 279
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 279,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLet.ts",
+ "position": 286
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 286,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsLiteralLikeNames01.baseline b/tests/baselines/reference/quickInfoDisplayPartsLiteralLikeNames01.baseline
new file mode 100644
index 00000000000..71b971b7340
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsLiteralLikeNames01.baseline
@@ -0,0 +1,672 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 21
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 21,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "1",
+ "kind": "methodName"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 41
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 41,
+ "length": 8
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "Infinity",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 70
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 70,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "NaN",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 91
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 91,
+ "length": 19
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"stringLiteralName\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 145
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 145,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "1",
+ "kind": "methodName"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 164
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "public",
+ "textSpan": {
+ "start": 164,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "1",
+ "kind": "methodName"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 185
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 185,
+ "length": 8
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "Infinity",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 210
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "private",
+ "textSpan": {
+ "start": 210,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "Infinity",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 238
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "protected",
+ "textSpan": {
+ "start": 238,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "NaN",
+ "kind": "methodName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts",
+ "position": 255
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "static",
+ "textSpan": {
+ "start": 255,
+ "length": 17
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "C",
+ "kind": "className"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"stringLiteralName\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsLocalFunction.baseline b/tests/baselines/reference/quickInfoDisplayPartsLocalFunction.baseline
new file mode 100644
index 00000000000..65c3dc88390
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsLocalFunction.baseline
@@ -0,0 +1,1642 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 9
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 9,
+ "length": 8
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "outerFoo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 35
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 35,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "param",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "optionalParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "paramWithInitializer",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "...",
+ "kind": "punctuation"
+ },
+ {
+ "text": "restParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 155
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 155,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 204
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 204,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 253
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 253,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 321
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 321,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 371
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 371,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 421
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 421,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 473
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 473,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 533
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 533,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "param",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "optionalParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "paramWithInitializer",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "...",
+ "kind": "punctuation"
+ },
+ {
+ "text": "restParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 551
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 551,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 581
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 581,
+ "length": 15
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowithoverload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 606
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 606,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 637
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 637,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 663
+ },
+ "quickInfo": {
+ "kind": "local function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 663,
+ "length": 16
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local function",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foowith3overload",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "boolean",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "2",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overloads",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts",
+ "position": 689
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 689,
+ "length": 8
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "outerFoo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsModules.baseline b/tests/baselines/reference/quickInfoDisplayPartsModules.baseline
new file mode 100644
index 00000000000..e2f04ea75e8
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsModules.baseline
@@ -0,0 +1,687 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 10
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 10,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 22
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 22,
+ "length": 26
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "namespaceElemWithoutExport",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 70
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 70,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "namespaceElemWithExport",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 106
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 106,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 110
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 110,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 117
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 117,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 127
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 127,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 140
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 140,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 143
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 143,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 156
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 156,
+ "length": 26
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "namespaceElemWithoutExport",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 204
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 204,
+ "length": 23
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "namespaceElemWithExport",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 240
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 240,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "x",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 244
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 244,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 247
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 247,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 255
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 255,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "y",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 265
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 265,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsModules.ts",
+ "position": 268
+ },
+ "quickInfo": {
+ "kind": "module",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 268,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "namespace",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m1",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "m2",
+ "kind": "moduleName"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline b/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline
new file mode 100644
index 00000000000..45f6128c2b1
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline
@@ -0,0 +1,567 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 9
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 9,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "param",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "optionalParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "paramWithInitializer",
+ "kind": "parameterName"
+ },
+ {
+ "text": "?",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "...",
+ "kind": "punctuation"
+ },
+ {
+ "text": "restParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "void",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 13
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 13,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "param",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 28
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 28,
+ "length": 13
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "optionalParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 52
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 52,
+ "length": 20
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "paramWithInitializer",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 87
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 87,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "restParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 114
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 114,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "param",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 135
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 135,
+ "length": 13
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "optionalParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 164
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 164,
+ "length": 20
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "paramWithInitializer",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts",
+ "position": 200
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 200,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "restParam",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeAlias.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeAlias.baseline
new file mode 100644
index 00000000000..49a97ac6773
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsTypeAlias.baseline
@@ -0,0 +1,240 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts",
+ "position": 6
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 6,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts",
+ "position": 17
+ },
+ "quickInfo": {
+ "kind": "type",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 17,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "t1",
+ "kind": "aliasName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts",
+ "position": 22
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 22,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts",
+ "position": 29
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 29,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts",
+ "position": 40
+ },
+ "quickInfo": {
+ "kind": "type",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 40,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "t1",
+ "kind": "aliasName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts",
+ "position": 49
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 49,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline
new file mode 100644
index 00000000000..7b3e3b6e377
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline
@@ -0,0 +1,3519 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 6
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 6,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 8
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 8,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 17
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 17,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 29
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 29,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 32
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 32,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 47
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 47,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 54
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 54,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 57
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 57,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 60
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 60,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 63
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 63,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 66
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 66,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 86
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 86,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 101
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 101,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 117
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 117,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 133
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 133,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 140
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 140,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 143
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 143,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 153
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 153,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 185
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 185,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 188
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 188,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 198
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 198,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 215
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 215,
+ "length": 11
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 227
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 227,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 230
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 230,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 245
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 245,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 252
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 252,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 262
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 262,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 273
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 273,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 276
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 276,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 279
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 279,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 282
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 282,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 302
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 302,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 317
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 317,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 334
+ },
+ "quickInfo": {
+ "kind": "constructor",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 334,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "constructor",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 337
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 337,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 353
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 353,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cVal2",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "typeof",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 361
+ },
+ "quickInfo": {
+ "kind": "class",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 361,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "class",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 365
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 365,
+ "length": 10
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 376
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 376,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c2",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 383
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 383,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts",
+ "position": 394
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 394,
+ "length": 9
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "cInstance",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "className"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline
new file mode 100644
index 00000000000..c47a264eb54
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline
@@ -0,0 +1,990 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 9
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 9,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 13
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 13,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 16
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 16,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 19
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 19,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 35
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 35,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 40
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 40,
+ "length": 3
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo",
+ "kind": "functionName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 63
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 63,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo2",
+ "kind": "functionName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 68
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 68,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo2",
+ "kind": "functionName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 86
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 86,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 89
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 89,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo2",
+ "kind": "functionName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 105
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 105,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts",
+ "position": 110
+ },
+ "quickInfo": {
+ "kind": "function",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 110,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "function",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "foo2",
+ "kind": "functionName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\"hello\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "\"hello\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "\"hello\"",
+ "kind": "stringLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.baseline
new file mode 100644
index 00000000000..50f0ac16a1c
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.baseline
@@ -0,0 +1,221 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts",
+ "position": 30
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 30,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "A",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "MixinCtor",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "A",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts",
+ "position": 59
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 59,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "A",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "MixinCtor",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "A",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts",
+ "position": 139
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 139,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "A",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "MixinCtor",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "A",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline
new file mode 100644
index 00000000000..decaad3c2f6
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline
@@ -0,0 +1,6287 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 10
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 10,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 12
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 12,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 26
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 26,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 29
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 29,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 32
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 32,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 35
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 35,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 38
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 38,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 42
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 42,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 50
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 50,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 53
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 53,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 56
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 56,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 59
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 59,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 62
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 62,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 66
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 66,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 73
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 73,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 80
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 80,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 83
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 83,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 86
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 86,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 89
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 89,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 92
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 92,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 96
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 96,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 105
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 105,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 111
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 111,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 126
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 126,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 150
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 150,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 174
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 174,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 179
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 179,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 215
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 215,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 218
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 218,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 228
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 228,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 250
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 250,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 260
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 260,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 271
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 271,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 274
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 274,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 277
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 277,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 280
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 280,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 284
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 284,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 292
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 292,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 302
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 302,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 313
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 313,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 316
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 316,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 319
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 319,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 322
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 322,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 326
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 326,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 333
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 333,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 340
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 340,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 350
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 350,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 361
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 361,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 364
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 364,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 367
+ },
+ "quickInfo": {
+ "kind": "parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 367,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 370
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 370,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 374
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 374,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "U",
+ "kind": "typeParameterName"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 383
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 383,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 390
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 390,
+ "length": 2
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 393
+ },
+ "quickInfo": {
+ "kind": "interface",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 393,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "interface",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 409
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 409,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "new",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 415
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 415,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 421
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 421,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 428
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 428,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 434
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 434,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 440
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 440,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 447
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 447,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal1",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 453
+ },
+ "quickInfo": {
+ "kind": "method",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 453,
+ "length": 6
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I1",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "method",
+ "kind": "methodName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ",",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 460
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 460,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts",
+ "position": 466
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 466,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "iVal",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "I",
+ "kind": "interfaceName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInTypeAlias.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInTypeAlias.baseline
new file mode 100644
index 00000000000..e6f1d451288
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInTypeAlias.baseline
@@ -0,0 +1,472 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts",
+ "position": 5
+ },
+ "quickInfo": {
+ "kind": "type",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 5,
+ "length": 4
+ },
+ "displayParts": [
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "List",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts",
+ "position": 10
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 10,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "List",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts",
+ "position": 15
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 15,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "List",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts",
+ "position": 24
+ },
+ "quickInfo": {
+ "kind": "type",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 24,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "List2",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=",
+ "kind": "operator"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": "[",
+ "kind": "punctuation"
+ },
+ {
+ "text": "]",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts",
+ "position": 30
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 30,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "List2",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts",
+ "position": 50
+ },
+ "quickInfo": {
+ "kind": "type parameter",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 50,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "type parameter",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "in",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "type",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "List2",
+ "kind": "aliasName"
+ },
+ {
+ "text": "<",
+ "kind": "punctuation"
+ },
+ {
+ "text": "T",
+ "kind": "typeParameterName"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "extends",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ">",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsVar.baseline b/tests/baselines/reference/quickInfoDisplayPartsVar.baseline
new file mode 100644
index 00000000000..dfe65565790
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsVar.baseline
@@ -0,0 +1,1112 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 4
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 4,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 37
+ },
+ "quickInfo": {
+ "kind": "local var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 37,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "local var",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "b",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 41
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 41,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "a",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 65
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 65,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "c",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 88
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "export",
+ "textSpan": {
+ "start": 88,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "m",
+ "kind": "moduleName"
+ },
+ {
+ "text": ".",
+ "kind": "punctuation"
+ },
+ {
+ "text": "d",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 102
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 102,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 123
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 123,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "g",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 127
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 127,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 130
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 130,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "f",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 139
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 139,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 193
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 193,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "i",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 197
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 197,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "{",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ";",
+ "kind": "punctuation"
+ },
+ {
+ "text": "\n",
+ "kind": "lineBreak"
+ },
+ {
+ "text": "}",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 200
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 200,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts",
+ "position": 207
+ },
+ "quickInfo": {
+ "kind": "var",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 207,
+ "length": 1
+ },
+ "displayParts": [
+ {
+ "text": "var",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "h",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "a",
+ "kind": "parameterName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "string",
+ "kind": "keyword"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "=>",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "number",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "(",
+ "kind": "punctuation"
+ },
+ {
+ "text": "+",
+ "kind": "operator"
+ },
+ {
+ "text": "1",
+ "kind": "numericLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "overload",
+ "kind": "text"
+ },
+ {
+ "text": ")",
+ "kind": "punctuation"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/baselines/reference/quickInfoDisplayPartsVarWithStringTypes01.baseline b/tests/baselines/reference/quickInfoDisplayPartsVarWithStringTypes01.baseline
new file mode 100644
index 00000000000..3c46a6ba6bd
--- /dev/null
+++ b/tests/baselines/reference/quickInfoDisplayPartsVarWithStringTypes01.baseline
@@ -0,0 +1,141 @@
+[
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts",
+ "position": 4
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 4,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "hello",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "\"hello\"",
+ "kind": "stringLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts",
+ "position": 44
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 44,
+ "length": 5
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "world",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "\"world\"",
+ "kind": "stringLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ },
+ {
+ "marker": {
+ "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts",
+ "position": 74
+ },
+ "quickInfo": {
+ "kind": "let",
+ "kindModifiers": "",
+ "textSpan": {
+ "start": 74,
+ "length": 12
+ },
+ "displayParts": [
+ {
+ "text": "let",
+ "kind": "keyword"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "helloOrWorld",
+ "kind": "localName"
+ },
+ {
+ "text": ":",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "\"hello\"",
+ "kind": "stringLiteral"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "|",
+ "kind": "punctuation"
+ },
+ {
+ "text": " ",
+ "kind": "space"
+ },
+ {
+ "text": "\"world\"",
+ "kind": "stringLiteral"
+ }
+ ],
+ "documentation": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts
index 05bf2d97681..a6ead3bcb91 100644
--- a/tests/cases/fourslash/fourslash.ts
+++ b/tests/cases/fourslash/fourslash.ts
@@ -199,6 +199,7 @@ declare namespace FourSlashInterface {
baselineCurrentFileBreakpointLocations(): void;
baselineCurrentFileNameOrDottedNameSpans(): void;
baselineGetEmitOutput(): void;
+ baselineQuickInfo(): void;
nameOrDottedNameSpanTextIs(text: string): void;
outliningSpansInCurrentFile(spans: TextSpan[]): void;
todoCommentsInCurrentFile(descriptors: string[]): void;
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts b/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts
index 5300e2f897b..31f9b975168 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts
@@ -5,46 +5,4 @@
////var /*3*/z = (/*8*/a: number) => 10;
////var /*4*/z2 = () => 10;
-var marker = 0;
-function verifyInstance(instanceName: string, paramCount: number, type: string) {
- marker++;
- goTo.marker(marker.toString());
- var displayParts = [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "(", kind: "punctuation" }];
-
- for (var i = 0; i < paramCount; i++) {
- if (i) {
- displayParts.push({ text: ",", kind: "punctuation" }, { text: " ", kind: "space" });
- }
- displayParts.push({ text: !i ? "a" : "b", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: type, kind: "keyword" });
- }
- displayParts.push({ text: ")", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "number", kind: "keyword" });
-
-
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: instanceName.length },
- displayParts, []);
-}
-
-function verifyParameter(parameterName: string, type: string) {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("parameter", "", { start: test.markerByName(marker.toString()).position, length: parameterName.length },
- [{ text: "(", kind: "punctuation" }, { text: "parameter", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: parameterName, kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: type, kind: "keyword" }],
- []);
-}
-
-verifyInstance("x", 1, "any");
-verifyInstance("y", 2, "any");
-verifyInstance("z", 1, "number");
-verifyInstance("z2", 0, "any");
-
-verifyParameter("a", "any");
-verifyParameter("a", "any");
-verifyParameter("b", "any");
-verifyParameter("a", "number");
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClass.ts b/tests/cases/fourslash/quickInfoDisplayPartsClass.ts
index a0b5b2e64fc..e8d7888f332 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsClass.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsClass.ts
@@ -5,35 +5,4 @@
////var /*2*/cInstance = new /*3*/c();
////var /*4*/cVal = /*5*/c;
-goTo.marker('1');
-verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName("1").position, length: "c".length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-goTo.marker('2');
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("2").position, length: "cInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-goTo.marker('3');
-verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName("3").position, length: "c".length },
- [{ text: "constructor", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-goTo.marker('4');
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("4").position, length: "cVal".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cVal", kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-goTo.marker('5');
-verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName("5").position, length: "c".length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts b/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts
index a6d2eea0b9b..d31051bb9df 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts
@@ -36,94 +36,4 @@
/////*9s*/cInstance./*10s*/publicProperty = y;
/////*11s*/c./*12s*/staticProperty = y;
-function verifyClassProperty(markerName: string, kindModifiers: string, propertyName: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("property", kindModifiers, { start: test.markerByName(markerName).position, length: propertyName.length },
- [{ text: "(", kind: "punctuation" }, { text: "property", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "c", kind: "className" }, { text: ".", kind: "punctuation" }, { text: propertyName, kind: "propertyName" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" }],
- []);
-}
-
-function verifyPublicProperty(markerName: string) {
- verifyClassProperty(markerName, "public", "publicProperty");
-}
-
-function verifyPrivateProperty(markerName: string) {
- verifyClassProperty(markerName, "private", "privateProperty");
-}
-
-function verifyProtectedProperty(markerName: string) {
- verifyClassProperty(markerName, "protected", "protectedProperty");
-}
-
-function verifyStaticProperty(markerName: string) {
- verifyClassProperty(markerName, "static", "staticProperty");
-}
-
-function verifyPrivateStaticProperty(markerName: string) {
- verifyClassProperty(markerName, "private,static", "privateStaticProperty");
-}
-
-function verifyProtectedStaticProperty(markerName: string) {
- verifyClassProperty(markerName, "protected,static", "protectedStaticProperty");
-}
-
-verifyPublicProperty('1');
-verifyPublicProperty('1s');
-verifyPrivateProperty('2');
-verifyPrivateProperty('2s');
-verifyProtectedProperty('21');
-verifyProtectedProperty('21s');
-verifyStaticProperty('3');
-verifyStaticProperty('3s');
-verifyPrivateStaticProperty('4');
-verifyPrivateStaticProperty('4s');
-verifyProtectedStaticProperty('41');
-verifyProtectedStaticProperty('41s');
-
-verifyPublicProperty('5');
-verifyPublicProperty('5s');
-verifyPrivateProperty('6');
-verifyPrivateProperty('6s');
-verifyProtectedProperty('61');
-verifyProtectedProperty('61s');
-verifyStaticProperty('7');
-verifyStaticProperty('7s');
-verifyPrivateStaticProperty('8');
-verifyPrivateStaticProperty('8s');
-verifyProtectedStaticProperty('81');
-verifyProtectedStaticProperty('81s');
-
-goTo.marker('9');
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9").position, length: "cInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyPublicProperty('10');
-
-goTo.marker('11');
-verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName("11").position, length: "c".length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyStaticProperty('12');
-
-goTo.marker('9s');
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9s").position, length: "cInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyPublicProperty('10s');
-
-goTo.marker('11s');
-verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName("11s").position, length: "c".length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyStaticProperty('12s');
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts b/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts
index a3ec3f3eb32..26dd09e6b6f 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts
@@ -27,100 +27,4 @@
////var /*23*/cWithMultipleOverloadsInstance3 = new /*24*/cWithMultipleOverloads(true);
////var /*25*/cWithMultipleOverloadsVal = /*26*/cWithMultipleOverloads;
-function verifyNonOverloadSignature(marker: string, textSpanLength: number) {
- goTo.marker(marker);
- verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName(marker).position, length: textSpanLength },
- [{ text: "constructor", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-}
-
-function verifyClassInstance(markerName: string, instanceName: string, className: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: instanceName.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: className, kind: "className" }],
- []);
-}
-
-function verifyClass(markerName: string, className: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName(markerName).position, length: className.length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }, { text: className, kind: "className" }],
- []);
-}
-
-function verifyTypeOfClass(markerName: string, typeOfVarName: string, className: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: typeOfVarName.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: typeOfVarName, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }, { text: className, kind: "className" }],
- []);
-}
-
-function verifySingleOverloadSignature(marker: string, textSpanLength: number, parameterType: string) {
- goTo.marker(marker);
- verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName(marker).position, length: textSpanLength },
- [{ text: "constructor", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cWithOverloads", kind: "className" }, { text: "(", kind: "punctuation" },
- { text: "x", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: parameterType, kind: "keyword" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "cWithOverloads", kind: "className" },
- { text: " ", kind: "space" }, { text: "(", kind: "punctuation" },
- { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: "overload", kind: "text" },
- { text: ")", kind: "punctuation" }],
- []);
-}
-
-function verifyMultipleOverloadSignature(marker: string, textSpanLength: number, parameterType: string) {
- goTo.marker(marker);
- verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName(marker).position, length: textSpanLength },
- [{ text: "constructor", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cWithMultipleOverloads", kind: "className" }, { text: "(", kind: "punctuation" },
- { text: "x", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: parameterType, kind: "keyword" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "cWithMultipleOverloads", kind: "className" },
- { text: " ", kind: "space" }, { text: "(", kind: "punctuation" },
- { text: "+", kind: "operator" }, { text: "2", kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: "overloads", kind: "text" },
- { text: ")", kind: "punctuation" }],
- []);
-}
-
-
-verifyNonOverloadSignature("1", "constructor".length);
-verifyClassInstance("2", "cInstance", "c");
-verifyNonOverloadSignature("3", "c".length);
-verifyTypeOfClass("4", "cVal", "c");
-verifyClass("5", "c");
-
-verifySingleOverloadSignature("6", "constructor".length, "string");
-verifySingleOverloadSignature("7", "constructor".length, "number");
-verifySingleOverloadSignature("8", "constructor".length, "string");
-verifyClassInstance("9", "cWithOverloadsInstance", "cWithOverloads");
-verifySingleOverloadSignature("10", "cWithOverloads".length, "string");
-verifyClassInstance("11", "cWithOverloadsInstance2", "cWithOverloads");
-verifySingleOverloadSignature("12", "cWithOverloads".length, "number");
-verifyTypeOfClass("13", "cWithOverloadsVal", "cWithOverloads");
-verifyClass("14", "cWithOverloads");
-
-verifyMultipleOverloadSignature("15", "constructor".length, "string");
-verifyMultipleOverloadSignature("16", "constructor".length, "number");
-verifyMultipleOverloadSignature("17", "constructor".length, "boolean");
-verifyMultipleOverloadSignature("18", "constructor".length, "string");
-verifyClassInstance("19", "cWithMultipleOverloadsInstance", "cWithMultipleOverloads");
-verifyMultipleOverloadSignature("20", "cWithMultipleOverloads".length, "string");
-verifyClassInstance("21", "cWithMultipleOverloadsInstance2", "cWithMultipleOverloads");
-verifyMultipleOverloadSignature("22", "cWithMultipleOverloads".length, "number");
-verifyClassInstance("23", "cWithMultipleOverloadsInstance3", "cWithMultipleOverloads");
-verifyMultipleOverloadSignature("24", "cWithMultipleOverloads".length, "boolean");
-verifyTypeOfClass("25", "cWithMultipleOverloadsVal", "cWithMultipleOverloads");
-verifyClass("26", "cWithMultipleOverloads");
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts b/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts
index 9ac30d09210..7cb251dd29e 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts
@@ -20,67 +20,4 @@
/////*9*/cInstance./*10*/publicMethod();
/////*11*/c./*12*/staticMethod();
-function verifyClassMethod(markerName: string, kindModifiers: string, methodName: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("method", kindModifiers, { start: test.markerByName(markerName).position, length: methodName.length },
- [{ text: "(", kind: "punctuation" }, { text: "method", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "c", kind: "className" }, { text: ".", kind: "punctuation" }, { text: methodName, kind: "methodName" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-}
-
-function verifyPublicMethod(markerName: string) {
- verifyClassMethod(markerName, "public", "publicMethod");
-}
-
-function verifyPrivateMethod(markerName: string) {
- verifyClassMethod(markerName, "private", "privateMethod");
-}
-
-function verifyProtectedMethod(markerName: string) {
- verifyClassMethod(markerName, "protected", "protectedMethod");
-}
-
-function verifyStaticMethod(markerName: string) {
- verifyClassMethod(markerName, "static", "staticMethod");
-}
-
-function verifyPrivateStaticMethod(markerName: string) {
- verifyClassMethod(markerName, "private,static", "privateStaticMethod");
-}
-
-function verifyProtectedStaticMethod(markerName: string) {
- verifyClassMethod(markerName, "protected,static", "protectedStaticMethod");
-}
-
-verifyPublicMethod('1');
-verifyPrivateMethod('2');
-verifyProtectedMethod('21');
-verifyStaticMethod('3');
-verifyPrivateStaticMethod('4');
-verifyProtectedStaticMethod('41');
-
-verifyPublicMethod('5');
-verifyPrivateMethod('6');
-verifyProtectedMethod('61');
-verifyStaticMethod('7');
-verifyPrivateStaticMethod('8');
-verifyProtectedStaticMethod('81');
-
-goTo.marker('9');
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9").position, length: "cInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyPublicMethod('10');
-
-goTo.marker('11');
-verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName("11").position, length: "c".length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyStaticMethod('12');
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts b/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts
index c5606881fcf..cb53dced055 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts
@@ -20,66 +20,4 @@
/////*9*/cInstance./*10*/publicProperty;
/////*11*/c./*12*/staticProperty;
-function verifyClassProperty(markerName: string, kindModifiers: string, propertyName: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("property", kindModifiers, { start: test.markerByName(markerName).position, length: propertyName.length },
- [{ text: "(", kind: "punctuation" }, { text: "property", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "c", kind: "className" }, { text: ".", kind: "punctuation" }, { text: propertyName, kind: "propertyName" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" }],
- []);
-}
-
-function verifyPublicProperty(markerName: string) {
- verifyClassProperty(markerName, "public", "publicProperty");
-}
-
-function verifyPrivateProperty(markerName: string) {
- verifyClassProperty(markerName, "private", "privateProperty");
-}
-
-function verifyProtectedProperty(markerName: string) {
- verifyClassProperty(markerName, "protected", "protectedProperty");
-}
-
-function verifyStaticProperty(markerName: string) {
- verifyClassProperty(markerName, "static", "staticProperty");
-}
-
-function verifyPrivateStaticProperty(markerName: string) {
- verifyClassProperty(markerName, "private,static", "privateStaticProperty");
-}
-
-function verifyProtectedStaticProperty(markerName: string) {
- verifyClassProperty(markerName, "protected,static", "protectedStaticProperty");
-}
-
-verifyPublicProperty('1');
-verifyPrivateProperty('2');
-verifyProtectedProperty('21');
-verifyStaticProperty('3');
-verifyPrivateStaticProperty('4');
-verifyProtectedStaticProperty('41');
-
-verifyPublicProperty('5');
-verifyPrivateProperty('6');
-verifyProtectedProperty('61');
-verifyStaticProperty('7');
-verifyPrivateStaticProperty('8');
-verifyProtectedStaticProperty('81');
-
-goTo.marker('9');
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9").position, length: "cInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyPublicProperty('10');
-
-goTo.marker('11');
-verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName("11").position, length: "c".length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyStaticProperty('12');
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsConst.ts b/tests/cases/fourslash/quickInfoDisplayPartsConst.ts
index 1e600e82775..a3fae39c6f6 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsConst.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsConst.ts
@@ -22,62 +22,4 @@
/////*15*/h(10);
/////*16*/h("hello");
-var marker = 0;
-function verifyConst(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("const", optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "const", kind: "keyword" },
- { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-
-var numberTypeDisplay: ts.SymbolDisplayPart[] = [{ text: "number", kind: "keyword" }];
-
-verifyConst("a", numberTypeDisplay);
-verifyConst("b", numberTypeDisplay);
-verifyConst("a", numberTypeDisplay);
-verifyConst("b1", numberTypeDisplay);
-verifyConst("c", numberTypeDisplay);
-verifyConst("d", numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export");
-verifyConst("e", numberTypeDisplay);
-
-var functionTypeReturningNumber: ts.SymbolDisplayPart[] = [{ text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "number", kind: "keyword" }];
-verifyConst("f", functionTypeReturningNumber);
-verifyConst("g", functionTypeReturningNumber);
-verifyConst("f", functionTypeReturningNumber);
-verifyConst("f", functionTypeReturningNumber);
-
-
-function getFunctionType(parametertype: string, returnType: string, isArrow?: boolean): ts.SymbolDisplayPart[] {
- var functionTypeDisplay = [{ text: "(", kind: "punctuation" }, { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: parametertype, kind: "keyword" }, { text: ")", kind: "punctuation" }];
-
- if (isArrow) {
- functionTypeDisplay = functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: "=>", kind: "punctuation" });
- }
- else {
- functionTypeDisplay = functionTypeDisplay.concat({ text: ":", kind: "punctuation" });
- }
-
- return functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: returnType, kind: "keyword" });
-}
-
-var typeLiteralWithOverloadCall: ts.SymbolDisplayPart[] = [{ text: "{", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }].concat(getFunctionType("string", "number")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }).concat(getFunctionType("number", "string")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, { text: "}", kind: "punctuation" });
-
-verifyConst("h", typeLiteralWithOverloadCall);
-verifyConst("i", typeLiteralWithOverloadCall);
-verifyConst("h", typeLiteralWithOverloadCall);
-
-var overloadDisplay: ts.SymbolDisplayPart[] = [{ text: " ", kind: "space" }, { text: "(", kind: "punctuation" },
- { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: "overload", kind: "text" }, { text: ")", kind: "punctuation" }];
-
-verifyConst("h", getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay));
-verifyConst("h", getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay));
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts b/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts
index a42179d039f..628fe9c757e 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsEnum1.ts
@@ -19,58 +19,4 @@
/////*25*/eInstance1 = /*26*/constE./*27*/e2;
/////*28*/eInstance1 = /*29*/constE./*30*/e3;
-var marker = 0;
-function verifyEnumDeclaration(enumName: string, instanceName: string, isConst?: boolean) {
- verifyEnumDisplay();
-
- verifyEnumMemberDisplay("e1", 0);
- verifyEnumMemberDisplay("e2", 10);
- verifyEnumMemberDisplay("e3", 11);
-
- verifyInstance();
- verifyEnumDisplay();
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay("e1", 0);
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay("e2", 10);
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay("e3", 11);
-
- function verifyEnumDisplay() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("enum", "", { start: test.markerByName(marker.toString()).position, length: enumName.length },
- (isConst ? [{ text: "const", kind: "keyword" }, { text: " ", kind: "space" }] : []).concat(
- [{ text: "enum", kind: "keyword" }, { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }]),
- []);;
- }
-
- function verifyEnumMemberDisplay(enumMemberName: string, initializer: number) {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: enumMemberName.length },
- [{ text: "(", kind: "punctuation" }, { text: "enum member", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }, { text: ".", kind: "punctuation" }, { text: enumMemberName, kind: "enumMemberName" },
- { text: " ", kind: "space" }, { text: "=", kind: "operator" }, { text: " ", kind: "space" }, { text: initializer.toString(), kind: "numericLiteral" }],
- []);
- }
-
- function verifyInstance() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: instanceName.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }],
- []);
- }
-}
-
-verifyEnumDeclaration("E", "eInstance");
-verifyEnumDeclaration("constE", "eInstance1", /*isConst*/ true);
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts b/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts
index ad08d84c1d5..f826836186b 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsEnum2.ts
@@ -19,61 +19,4 @@
/////*25*/eInstance1 = /*26*/constE./*27*/e2;
/////*28*/eInstance1 = /*29*/constE./*30*/e3;
-var marker = 0;
-function verifyEnumDeclaration(enumName: string, instanceName: string, isConst?: boolean) {
- verifyEnumDisplay();
-
- verifyEnumMemberDisplay('"e1"', /*spanLength*/ 4, 0);
- verifyEnumMemberDisplay("'e2'", /*spanLength*/ 4, 10);
- verifyEnumMemberDisplay('"e3"', /*spanLength*/ 4, 11);
-
- verifyInstance();
- verifyEnumDisplay();
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay('"e1"', /*spanLength*/ 2, 0);
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay("'e2'", /*spanLength*/ 2, 10);
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay('"e3"', /*spanLength*/ 2, 11);
-
- function verifyEnumDisplay() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("enum", "", { start: test.markerByName(marker.toString()).position, length: enumName.length },
- (isConst ? [{ text: "const", kind: "keyword" }, { text: " ", kind: "space" }] : []).concat(
- [{ text: "enum", kind: "keyword" }, { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }]),
- []);;
- }
-
- function verifyEnumMemberDisplay(enumMemberName: string, spanLength: number, initializer: number) {
- marker++;
- goTo.marker(marker.toString());
- // Each of these names is a string literal,
- // but since they're accessed by property accesses,
- // we need to account for the quotes at the beginning and end.
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: spanLength },
- [{ text: "(", kind: "punctuation" }, { text: "enum member", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }, { text: "[", kind: "punctuation" }, { text: enumMemberName, kind: "stringLiteral" }, { text: "]", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=", kind: "operator" }, { text: " ", kind: "space" }, { text: initializer.toString(), kind: "numericLiteral" }],
- []);
- }
-
- function verifyInstance() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: instanceName.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }],
- []);
- }
-}
-
-verifyEnumDeclaration("E", "eInstance");
-verifyEnumDeclaration("constE", "eInstance1", /*isConst*/ true);
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts b/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts
index 77fbda1e317..fc2f2380100 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsEnum3.ts
@@ -19,62 +19,4 @@
/////*25*/eInstance1 = /*26*/constE[/*27*/"e2"];
/////*28*/eInstance1 = /*29*/constE[/*30*/'e3'];
-var marker = 0;
-function verifyEnumDeclaration(enumName: string, instanceName: string, isConst?: boolean) {
- verifyEnumDisplay();
-
- verifyEnumMemberDisplay('"e1"', /*spanLength*/ 4, 0);
- verifyEnumMemberDisplay("'e2'", /*spanLength*/ 4, 10);
- verifyEnumMemberDisplay('"e3"', /*spanLength*/ 4, 11);
-
- verifyInstance();
- verifyEnumDisplay();
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay('"e1"', /*spanLength*/ 4, 0);
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay("'e2'", /*spanLength*/ 4, 10);
-
- verifyInstance();
- verifyEnumDisplay();
- verifyEnumMemberDisplay('"e3"', /*spanLength*/ 4, 11);
-
- function verifyEnumDisplay() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("enum", "", { start: test.markerByName(marker.toString()).position, length: enumName.length },
- (isConst ? [{ text: "const", kind: "keyword" }, { text: " ", kind: "space" }] : []).concat(
- [{ text: "enum", kind: "keyword" }, { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }]),
- []);;
- }
-
- function verifyEnumMemberDisplay(enumMemberName: string, spanLength: number, initializer: number) {
- marker++;
- goTo.marker(marker.toString());
- // Each of these names is a string literal,
- // but since they're accessed by property accesses,
- // we need to account for the quotes at the beginning and end.
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: spanLength },
- [{ text: "(", kind: "punctuation" }, { text: "enum member", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }, { text: "[", kind: "punctuation" }, { text: enumMemberName, kind: "stringLiteral" }, { text: "]", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=", kind: "operator" }, { text: " ", kind: "space" }, { text: initializer.toString(), kind: "numericLiteral" }],
- []);
- }
-
- function verifyInstance() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: instanceName.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }],
- []);
- }
-}
-
-verifyEnumDeclaration("E", "eInstance");
-marker = 15;
-//verifyEnumDeclaration("constE", "eInstance1", /*isConst*/ true);
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias.ts b/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias.ts
index 36ca4edac8d..f2a0a903238 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsExternalModuleAlias.ts
@@ -12,33 +12,4 @@
////export import /*3*/a2 = require(/*mod2*/"./quickInfoDisplayPartsExternalModuleAlias_file0");
////new /*4*/a2.m1.c();
-var marker = 0;
-function goToMarker() {
- marker++;
- goTo.marker(marker.toString());
-}
-
-function verifyImport(name: string, isExported: boolean) {
- goToMarker();
- verify.verifyQuickInfoDisplayParts("alias", isExported ? "export" : "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "import", kind: "keyword" }, { text: " ", kind: "space" }, { text: name, kind: "aliasName" },
- { text: " ", kind: "space" }, { text: "=", kind: "operator" }, { text: " ", kind: "space" },
- { text: "require", kind: "keyword" }, { text: "(", kind: "punctuation" },
- { text: "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"", kind: "stringLiteral" },
- { text: ")", kind: "punctuation" }],
- []);
-}
-verifyImport("a1", /*isExported*/false);
-verifyImport("a1", /*isExported*/false);
-verifyImport("a2", /*isExported*/true);
-verifyImport("a2", /*isExported*/true);
-
-function verifyExternalModuleStringLiteral(marker: string) {
- goTo.marker(marker);
- verify.verifyQuickInfoDisplayParts("module", "", { start: test.markerByName(marker).position, length: "\"./quickInfoDisplayPartsExternalModuleAlias_file0\"".length },
- [{ text: "module", kind: "keyword" }, { text: " ", kind: "space" }, { text: "a1", kind: "aliasName" }],
- []);
-}
-
-verifyExternalModuleStringLiteral("mod1");
-verifyExternalModuleStringLiteral("mod2");
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts b/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts
index 1b71cc1f1e0..225f0d18af3 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts
@@ -13,51 +13,4 @@
////export var /*12*/x = /*13*/m1./*14*/m2;
////export var /*15*/y: typeof /*16*/m1./*17*/m2;
-var marker = 0;
-function goToMarker() {
- marker++;
- goTo.marker(marker.toString());
-}
-
-function verifyNamespace(name: string, optionalParentName?: string) {
- goToMarker();
- var namespaceNameDisplay = [{ text: name, kind: "moduleName" }];
- if (optionalParentName) {
- namespaceNameDisplay = [{ text: optionalParentName, kind: "moduleName" }, { text: ".", kind: "punctuation" }].concat(namespaceNameDisplay);
- }
- verify.verifyQuickInfoDisplayParts("module", "export", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "namespace", kind: "keyword" }, { text: " ", kind: "space" }].concat(namespaceNameDisplay),
- []);
-}
-
-function verifyVar(name: string, optionalFullName?: ts.SymbolDisplayPart[], typeDisplay: ts.SymbolDisplayPart[]= [{ text: "number", kind: "keyword" }]) {
- goToMarker();
- verify.verifyQuickInfoDisplayParts("var", name === "namespaceElemWithoutExport" ? "" : "export", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }].concat(optionalFullName || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-
-verifyNamespace("m");
-verifyVar("namespaceElemWithoutExport");
-verifyVar("namespaceElemWithExport", [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "namespaceElemWithExport", kind: "localName" }]);
-
-verifyVar("a", /*optionalFullName*/ undefined, [{ text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }, { text: "m", kind: "moduleName" }]);
-verifyNamespace("m");
-verifyVar("b", /*optionalFullName*/ undefined, [{ text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }, { text: "m", kind: "moduleName" }]);
-verifyNamespace("m");
-
-verifyNamespace("m1");
-verifyNamespace("m2", "m1");
-verifyVar("namespaceElemWithoutExport");
-verifyVar("namespaceElemWithExport", [{ text: "m1", kind: "moduleName" }, { text: ".", kind: "punctuation" },
- { text: "m2", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "namespaceElemWithExport", kind: "localName" }]);
-verifyVar("x", /*optionalFullName*/ undefined, [{ text: "typeof", kind: "keyword" }, { text: " ", kind: "space" },
- { text: "m1", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "m2", kind: "moduleName" }]);
-verifyNamespace("m1");
-verifyNamespace("m2", "m1");
-verifyVar("y", /*optionalFullName*/ undefined, [{ text: "typeof", kind: "keyword" }, { text: " ", kind: "space" },
- { text: "m1", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "m2", kind: "moduleName" }]);
-verifyNamespace("m1");
-verifyNamespace("m2", "m1");
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts b/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts
index 64726aec3db..d703aa75a80 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts
@@ -20,57 +20,4 @@
/////*13*/foowith3overload(10);
/////*14*/foowith3overload(true);
-var marker = 0;
-function verifyFunctionWithoutOverload() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("function", "", { start: test.markerByName(marker.toString()).position, length: "foo".length },
- [{ text: "function", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "foo", kind: "functionName" }, { text: "(", kind: "punctuation" },
- { text: "param", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "optionalParam", kind: "parameterName" }, { text: "?", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "paramWithInitializer", kind: "parameterName" }, { text: "?", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "...", kind: "punctuation" }, { text: "restParam", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "string", kind: "keyword" }, { text: "[", kind: "punctuation" }, { text: "]", kind: "punctuation" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-}
-
-function verifyFunctionWithOverload(functionName: string, type: string, overloadCount: number) {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("function", "", { start: test.markerByName(marker.toString()).position, length: functionName.length },
- [{ text: "function", kind: "keyword" },
- { text: " ", kind: "space" }, { text: functionName, kind: "functionName" }, { text: "(", kind: "punctuation" },
- { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: type, kind: "keyword" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: type, kind: "keyword" },
- { text: " ", kind: "space" }, { text: "(", kind: "punctuation" }, { text: "+", kind: "operator" }, { text: overloadCount.toString(), kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: overloadCount === 1 ? "overload" : "overloads", kind: "text" }, { text: ")", kind: "punctuation" }],
- []);
-}
-
-
-// Declarations
-verifyFunctionWithoutOverload();
-
-verifyFunctionWithOverload("foowithoverload", "string", 1);
-verifyFunctionWithOverload("foowithoverload", "number", 1);
-verifyFunctionWithOverload("foowithoverload", "string", 1);
-
-verifyFunctionWithOverload("foowith3overload", "string", 2);
-verifyFunctionWithOverload("foowith3overload", "number", 2);
-verifyFunctionWithOverload("foowith3overload", "boolean", 2);
-verifyFunctionWithOverload("foowith3overload", "string", 2);
-
-// Calls
-verifyFunctionWithoutOverload();
-
-verifyFunctionWithOverload("foowithoverload", "string", 1);
-verifyFunctionWithOverload("foowithoverload", "number", 1);
-
-verifyFunctionWithOverload("foowith3overload", "string", 2);
-verifyFunctionWithOverload("foowith3overload", "number", 2);
-verifyFunctionWithOverload("foowith3overload", "boolean", 2);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts b/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts
index 539ebeb0669..b18b82dc67c 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts
@@ -9,37 +9,4 @@
//// /*6*/foo1();
////})();
-var marker = 0;
-function verifyInstance(instanceName: string) {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: instanceName.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-}
-
-function verifyNamedFunctionExpression(functionName: string) {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("local function", "", { start: test.markerByName(marker.toString()).position, length: functionName.length },
- [{ text: "(", kind: "punctuation" }, { text: "local function", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: functionName, kind: "functionName" }, { text: "(", kind: "punctuation" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-}
-
-verifyInstance("x");
-// Declaration
-verifyNamedFunctionExpression("foo");
-// Call
-verifyNamedFunctionExpression("foo");
-
-verifyInstance("y");
-
-// Declaration
-verifyNamedFunctionExpression("foo1");
-// Call
-verifyNamedFunctionExpression("foo1");
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts b/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts
index 0c18f1154fd..6155a0df174 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts
@@ -4,19 +4,4 @@
////}
////var /*2*/iInstance: /*3*/i;
-goTo.marker('1');
-verify.verifyQuickInfoDisplayParts("interface", "", { start: test.markerByName("1").position, length: "i".length },
- [{ text: "interface", kind: "keyword" }, { text: " ", kind: "space" }, { text: "i", kind: "interfaceName" }],
- []);
-
-goTo.marker('2');
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("2").position, length: "iInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "iInstance", kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "i", kind: "interfaceName" }],
- []);
-
-goTo.marker('3');
-verify.verifyQuickInfoDisplayParts("interface", "", { start: test.markerByName("3").position, length: "i".length },
- [{ text: "interface", kind: "keyword" }, { text: " ", kind: "space" }, { text: "i", kind: "interfaceName" }],
- []);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts b/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts
index e81c71a2a8d..e979b0dc90e 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts
@@ -11,65 +11,4 @@
/////*7*/iInstance();
////var /*8*/anotherInstance = new /*9*/iInstance();
-function verifyInterfaceProperty(markerName: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("property", "", { start: test.markerByName(markerName).position, length: "property".length },
- [{ text: "(", kind: "punctuation" }, { text: "property", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "I", kind: "interfaceName" }, { text: ".", kind: "punctuation" }, { text: "property", kind: "propertyName" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" }],
- []);
-}
-
-function verifyInterfaceMethod(markerName: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("method", "", { start: test.markerByName(markerName).position, length: "method".length },
- [{ text: "(", kind: "punctuation" }, { text: "method", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "I", kind: "interfaceName" }, { text: ".", kind: "punctuation" }, { text: "method", kind: "methodName" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" }],
- []);
-}
-
-function verifyInterfaceInstanceVar(markerName: string, instanceName: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: instanceName.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "I", kind: "interfaceName" }],
- []);
-}
-
-verifyInterfaceProperty('1');
-verifyInterfaceMethod("2");
-
-verifyInterfaceInstanceVar("3", "iInstance");
-verifyInterfaceProperty("4");
-verifyInterfaceInstanceVar("5", "iInstance");
-verifyInterfaceMethod("6");
-
-// Call signature
-goTo.marker("7");
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("7").position, length: "iInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "iInstance", kind: "localName" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "I", kind: "interfaceName" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "string", kind: "keyword" }],
- []);
-
-verifyInterfaceInstanceVar("8", "anotherInstance");
-
-// Cosntruct signature
-goTo.marker("9");
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9").position, length: "iInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "iInstance", kind: "localName" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "new", kind: "keyword" }, { text: " ", kind: "space" }, { text: "I", kind: "interfaceName" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "I", kind: "interfaceName" }],
- []);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsLet.ts b/tests/cases/fourslash/quickInfoDisplayPartsLet.ts
index 71cad3db66f..4e2d7f75e05 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsLet.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsLet.ts
@@ -22,62 +22,4 @@
/////*15*/h(10);
/////*16*/h("hello");
-var marker = 0;
-function verifyVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("let", optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "let", kind: "keyword" },
- { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-
-var numberTypeDisplay: ts.SymbolDisplayPart[] = [{ text: "number", kind: "keyword" }];
-
-verifyVar("a", numberTypeDisplay);
-verifyVar("b", numberTypeDisplay);
-verifyVar("a", numberTypeDisplay);
-verifyVar("b1", numberTypeDisplay);
-verifyVar("c", numberTypeDisplay);
-verifyVar("d", numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export");
-verifyVar("e", numberTypeDisplay);
-
-var functionTypeReturningNumber: ts.SymbolDisplayPart[] = [{ text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "number", kind: "keyword" }];
-verifyVar("f", functionTypeReturningNumber);
-verifyVar("g", functionTypeReturningNumber);
-verifyVar("f", functionTypeReturningNumber);
-verifyVar("f", functionTypeReturningNumber);
-
-
-function getFunctionType(parametertype: string, returnType: string, isArrow?: boolean): ts.SymbolDisplayPart[] {
- var functionTypeDisplay = [{ text: "(", kind: "punctuation" }, { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: parametertype, kind: "keyword" }, { text: ")", kind: "punctuation" }];
-
- if (isArrow) {
- functionTypeDisplay = functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: "=>", kind: "punctuation" });
- }
- else {
- functionTypeDisplay = functionTypeDisplay.concat({ text: ":", kind: "punctuation" });
- }
-
- return functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: returnType, kind: "keyword" });
-}
-
-var typeLiteralWithOverloadCall: ts.SymbolDisplayPart[] = [{ text: "{", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }].concat(getFunctionType("string", "number")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }).concat(getFunctionType("number", "string")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, { text: "}", kind: "punctuation" });
-
-verifyVar("h", typeLiteralWithOverloadCall);
-verifyVar("i", typeLiteralWithOverloadCall);
-verifyVar("h", typeLiteralWithOverloadCall);
-
-var overloadDisplay: ts.SymbolDisplayPart[] = [{ text: " ", kind: "space" }, { text: "(", kind: "punctuation" },
- { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: "overload", kind: "text" }, { text: ")", kind: "punctuation" }];
-
-verifyVar("h", getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay));
-verifyVar("h", getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay));
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts b/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts
index 939eb55610d..ca2e3bd41fe 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsLiteralLikeNames01.ts
@@ -14,36 +14,4 @@
//// C./*10*/stringLiteralName();
//// }
-verifyClassMethodWithElementAccessDisplay("1", "public", "1", "methodName", /*spanLength*/ "1".length);
-verifyClassMethodWithPropertyAccessDisplay("2", "private", "Infinity", /*spanLength*/ "Infinity".length);
-verifyClassMethodWithPropertyAccessDisplay("3", "protected", "NaN", /*spanLength*/ "NaN".length);
-verifyClassMethodWithElementAccessDisplay("4", "static", '"stringLiteralName"', "stringLiteral", /*spanLength*/ '"stringLiteralName"'.length);
-verifyClassMethodWithElementAccessDisplay("5", "public", "1", "methodName", /*spanLength*/ "1".length);
-verifyClassMethodWithElementAccessDisplay("6", "public", "1", "methodName", /*spanLength*/ "1".length + 2);
-verifyClassMethodWithPropertyAccessDisplay("7", "private", "Infinity", /*spanLength*/ "Infinity".length);
-verifyClassMethodWithPropertyAccessDisplay("8", "private", "Infinity", /*spanLength*/ "Infinity".length + 2);
-verifyClassMethodWithPropertyAccessDisplay("9", "protected", "NaN", /*spanLength*/ "NaN".length);
-verifyClassMethodWithElementAccessDisplay("10", "static", '"stringLiteralName"', "stringLiteral", /*spanLength*/ "stringLiteralName".length);
-
-
-function verifyClassMethodWithPropertyAccessDisplay(markerName: string, kindModifiers: string, methodName: string, spanLength: number) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("method", kindModifiers, { start: test.markerByName(markerName).position, length: spanLength },
- [{ text: "(", kind: "punctuation" }, { text: "method", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "C", kind: "className" }, { text: ".", kind: "punctuation" }, { text: methodName, kind: "methodName" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-}
-
-function verifyClassMethodWithElementAccessDisplay(markerName: string, kindModifiers: string, methodName: string, methodDisplay: "methodName" | "stringLiteral", spanLength: number) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("method", kindModifiers, { start: test.markerByName(markerName).position, length: spanLength },
- [{ text: "(", kind: "punctuation" }, { text: "method", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: "C", kind: "className" }, { text: "[", kind: "punctuation" }, { text: methodName, kind: methodDisplay }, { text: "]", kind: "punctuation" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-}
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts b/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts
index 8a449538383..a608d10c364 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts
@@ -23,70 +23,4 @@
////}
/////*16*/outerFoo();
-var marker = 0;
-function verifyOuterFunction() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("function", "", { start: test.markerByName(marker.toString()).position, length: "outerFoo".length },
- [{ text: "function", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "outerFoo", kind: "functionName" }, { text: "(", kind: "punctuation" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-}
-
-function verifyFunctionWithoutOverload() {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("local function", "", { start: test.markerByName(marker.toString()).position, length: "foo".length },
- [{ text: "(", kind: "punctuation" }, { text: "local function", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "foo", kind: "functionName" }, { text: "(", kind: "punctuation" },
- { text: "param", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "optionalParam", kind: "parameterName" }, { text: "?", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "paramWithInitializer", kind: "parameterName" }, { text: "?", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "...", kind: "punctuation" }, { text: "restParam", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "string", kind: "keyword" }, { text: "[", kind: "punctuation" }, { text: "]", kind: "punctuation" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-}
-
-function verifyFunctionWithOverload(functionName: string, type: string, overloadCount: number) {
- marker++;
- goTo.marker(marker.toString());
- verify.verifyQuickInfoDisplayParts("local function", "", { start: test.markerByName(marker.toString()).position, length: functionName.length },
- [{ text: "(", kind: "punctuation" }, { text: "local function", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: functionName, kind: "functionName" }, { text: "(", kind: "punctuation" },
- { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: type, kind: "keyword" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: type, kind: "keyword" },
- { text: " ", kind: "space" }, { text: "(", kind: "punctuation" }, { text: "+", kind: "operator" }, { text: overloadCount.toString(), kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: overloadCount === 1 ? "overload" : "overloads", kind: "text" }, { text: ")", kind: "punctuation" }],
- []);
-}
-
-
-// Declarations
-verifyOuterFunction();
-
-verifyFunctionWithoutOverload();
-
-verifyFunctionWithOverload("foowithoverload", "string", 1);
-verifyFunctionWithOverload("foowithoverload", "number", 1);
-verifyFunctionWithOverload("foowithoverload", "string", 1);
-
-verifyFunctionWithOverload("foowith3overload", "string", 2);
-verifyFunctionWithOverload("foowith3overload", "number", 2);
-verifyFunctionWithOverload("foowith3overload", "boolean", 2);
-verifyFunctionWithOverload("foowith3overload", "string", 2);
-
-// Calls
-verifyFunctionWithoutOverload();
-
-verifyFunctionWithOverload("foowithoverload", "string", 1);
-verifyFunctionWithOverload("foowithoverload", "number", 1);
-
-verifyFunctionWithOverload("foowith3overload", "string", 2);
-verifyFunctionWithOverload("foowith3overload", "number", 2);
-verifyFunctionWithOverload("foowith3overload", "boolean", 2);
-verifyOuterFunction();
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsModules.ts b/tests/cases/fourslash/quickInfoDisplayPartsModules.ts
index a6eb0b9ae6b..2faf450ff68 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsModules.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsModules.ts
@@ -13,51 +13,4 @@
////var /*12*/x = /*13*/m1./*14*/m2;
////var /*15*/y: typeof /*16*/m1./*17*/m2;
-var marker = 0;
-function goToMarker() {
- marker++;
- goTo.marker(marker.toString());
-}
-
-function verifyNamespace(name: string, optionalParentName?: string) {
- goToMarker();
- var namespaceNameDisplay = [{ text: name, kind: "moduleName" }];
- if (optionalParentName) {
- namespaceNameDisplay = [{ text: optionalParentName, kind: "moduleName" }, { text: ".", kind: "punctuation" }].concat(namespaceNameDisplay);
- }
- verify.verifyQuickInfoDisplayParts("module", optionalParentName ? "export" : "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "namespace", kind: "keyword" }, { text: " ", kind: "space" }].concat(namespaceNameDisplay),
- []);
-}
-
-function verifyVar(name: string, optionalFullName?: ts.SymbolDisplayPart[], typeDisplay: ts.SymbolDisplayPart[]= [{ text: "number", kind: "keyword" }]) {
- goToMarker();
- verify.verifyQuickInfoDisplayParts("var", optionalFullName ? "export" : "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }].concat(optionalFullName || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-
-verifyNamespace("m");
-verifyVar("namespaceElemWithoutExport");
-verifyVar("namespaceElemWithExport", [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "namespaceElemWithExport", kind: "localName" }]);
-
-verifyVar("a", /*optionalFullName*/ undefined, [{ text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }, { text: "m", kind: "moduleName" }]);
-verifyNamespace("m");
-verifyVar("b", /*optionalFullName*/ undefined, [{ text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }, { text: "m", kind: "moduleName" }]);
-verifyNamespace("m");
-
-verifyNamespace("m1");
-verifyNamespace("m2", "m1");
-verifyVar("namespaceElemWithoutExport");
-verifyVar("namespaceElemWithExport", [{ text: "m1", kind: "moduleName" }, { text: ".", kind: "punctuation" },
- { text: "m2", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "namespaceElemWithExport", kind: "localName" }]);
-verifyVar("x", /*optionalFullName*/ undefined, [{ text: "typeof", kind: "keyword" }, { text: " ", kind: "space" },
- { text: "m1", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "m2", kind: "moduleName" }]);
-verifyNamespace("m1");
-verifyNamespace("m2", "m1");
-verifyVar("y", /*optionalFullName*/ undefined, [{ text: "typeof", kind: "keyword" }, { text: " ", kind: "space" },
- { text: "m1", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "m2", kind: "moduleName" }]);
-verifyNamespace("m1");
-verifyNamespace("m2", "m1");
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts b/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts
index deea68aaf0b..58cc8159b92 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts
@@ -7,39 +7,4 @@
//// /*9*/restParam[0] = "World";
////}
-goTo.marker("1");
-verify.verifyQuickInfoDisplayParts("function", "", { start: test.markerByName('1').position, length: "foo".length },
- [{ text: "function", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "foo", kind: "functionName" }, { text: "(", kind: "punctuation" },
- { text: "param", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "optionalParam", kind: "parameterName" }, { text: "?", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "paramWithInitializer", kind: "parameterName" }, { text: "?", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" },
- { text: ",", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "...", kind: "punctuation" }, { text: "restParam", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "string", kind: "keyword" } , { text: "[", kind: "punctuation" }, { text: "]", kind: "punctuation" },
- { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "void", kind: "keyword" }],
- []);
-
-var marker = 1;
-function verifyParam(parameterName: string, isRest: boolean) {
- marker++;
- goTo.marker(marker.toString());
- var displayParts = [{ text: "(", kind: "punctuation" }, { text: "parameter", kind: "text" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: parameterName, kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" }];
- if (isRest) {
- displayParts.push({ text: "[", kind: "punctuation" }, { text: "]", kind: "punctuation" });
- }
- verify.verifyQuickInfoDisplayParts("parameter", "", { start: test.markerByName(marker.toString()).position, length: parameterName.length }, displayParts, []);
-}
-
-verifyParam('param', /*isRest*/false);
-verifyParam('optionalParam', /*isRest*/false);
-verifyParam('paramWithInitializer', /*isRest*/false);
-verifyParam('restParam', /*isRest*/true);
-
-verifyParam('param', /*isRest*/false);
-verifyParam('optionalParam', /*isRest*/false);
-verifyParam('paramWithInitializer', /*isRest*/false);
-verifyParam('restParam', /*isRest*/true);
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts
index dfbc5a65221..af9b820c972 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts
@@ -5,38 +5,4 @@
////type /*2*/t1 = /*3*/c;
////var /*4*/cInstance: /*5*/t1 = new /*6*/c();
-function verifyClassDisplay(markerName: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName(markerName).position, length: "c".length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-}
-
-function verifyTypeAliasDisplay(markerName: string) {
- goTo.marker(markerName);
- verify.verifyQuickInfoDisplayParts("type", "", { start: test.markerByName(markerName).position, length: "t1".length },
- [{ text: "type", kind: "keyword" }, { text: " ", kind: "space" }, { text: "t1", kind: "aliasName" },
- { text: " ", kind: "space" }, { text: "=", kind: "operator" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-}
-
-verifyClassDisplay('1');
-verifyTypeAliasDisplay('2');
-verifyClassDisplay('3');
-
-goTo.marker('4');
-verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("4").position, length: "cInstance".length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
-
-verifyTypeAliasDisplay('5');
-
-goTo.marker('6');
-verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName("6").position, length: "c".length },
- [{ text: "constructor", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" },
- { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "c", kind: "className" }],
- []);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts
index ed4da7dac91..69e82bfb230 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts
@@ -21,219 +21,4 @@
////var /*36*/cVal2 = /*37*/c2;
/////*38*/cInstance1./*39*/method(/*40*/cInstance, /*41*/cInstance);
-var marker = 0;
-var markerName: string;
-
-function goToMarker() {
- marker++;
- markerName = marker.toString();
- goTo.marker(markerName);
-}
-
-function getTypeParameterDisplay(instanceType: ts.SymbolDisplayPart[],
- name: string, optionalExtends?: ts.SymbolDisplayPart[]) {
- return instanceType ||
- function () {
- var typeParameterDisplay = [{ text: name, kind: "typeParameterName" }];
- if (optionalExtends) {
- typeParameterDisplay.push({ text: " ", kind: "space" }, { text: "extends", kind: "keyword" },
- { text: " ", kind: "space" });
- typeParameterDisplay = typeParameterDisplay.concat(optionalExtends);
- }
- return typeParameterDisplay
- } ();
-}
-
-function getClassDisplay(name: string, optionalInstanceType?: ts.SymbolDisplayPart[],
- optionalExtends?: ts.SymbolDisplayPart[]) {
- var classDisplay = [{ text: name, kind: "className" }, { text: "<", kind: "punctuation" }];
- classDisplay = classDisplay.concat(getTypeParameterDisplay(optionalInstanceType, "T", optionalExtends));
- classDisplay.push({ text: ">", kind: "punctuation" });
- return classDisplay;
-}
-
-function verifyClassDisplay(name: string, optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
-
- verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName(markerName).position, length: name.length },
- [{ text: "class", kind: "keyword" }, { text: " ", kind: "space" }].concat(
- getClassDisplay(name, undefined, optionalExtends)), []);
-}
-
-function verifyTypeParameter(name: string, inDisplay: ts.SymbolDisplayPart[]) {
- goToMarker();
-
- var typeParameterDisplay = [{ text: "(", kind: "punctuation" }, { text: "type parameter", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: name, kind: "typeParameterName" },
- { text: " ", kind: "space" }, { text: "in", kind: "keyword" }, { text: " ", kind: "space" }];
- typeParameterDisplay = typeParameterDisplay.concat(inDisplay);
-
- verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName(markerName).position, length: name.length },
- typeParameterDisplay, []);
-}
-
-function verifyConstructor(name: string, optionalInstanceType?: ts.SymbolDisplayPart[],
- optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
- var constructorDisplay = [{ text: "constructor", kind: "keyword" },
- { text: " ", kind: "space" }];
- constructorDisplay = constructorDisplay.concat(getClassDisplay(name, optionalInstanceType, optionalExtends));
-
- constructorDisplay.push({ text: "(", kind: "punctuation" }, { text: "a", kind: "parameterName" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" });
-
- constructorDisplay = constructorDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "T"));
-
- constructorDisplay.push({ text: ")", kind: "punctuation" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" });
-
- constructorDisplay = constructorDisplay.concat(getClassDisplay(name, optionalInstanceType));
-
- verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName(markerName).position, length: optionalInstanceType ? name.length : "constructor".length },
- constructorDisplay, []);
-}
-
-function verifyParameter(name: string, type: string, optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
- var parameterDisplay = [{ text: "(", kind: "punctuation" }, { text: "parameter", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: name, kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: type, kind: "typeParameterName" }];
- if (optionalExtends) {
- parameterDisplay.push({ text: " ", kind: "space" }, { text: "extends", kind: "keyword" },
- { text: " ", kind: "space" });
- parameterDisplay = parameterDisplay.concat(optionalExtends);
- }
- verify.verifyQuickInfoDisplayParts("parameter", "", { start: test.markerByName(markerName).position, length: name.length },
- parameterDisplay, []);
-}
-
-function getMethodDisplay(name: string, className: string,
- optionalInstanceType?: ts.SymbolDisplayPart[], optionalExtends?: ts.SymbolDisplayPart[]) {
- var functionDisplay = getClassDisplay(className, optionalInstanceType, optionalExtends);
-
- functionDisplay.push({ text: ".", kind: "punctuation" }, { text: name, kind: "methodName" },
- { text: "<", kind: "punctuation" });
-
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U", optionalExtends));
-
- functionDisplay.push({ text: ">", kind: "punctuation" }, { text: "(", kind: "punctuation" },
- { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" });
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U"));
- functionDisplay.push({ text: ",", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "b", kind: "parameterName" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" });
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "T"));
-
- functionDisplay.push({ text: ")", kind: "punctuation" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" });
-
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U"));
-
- return functionDisplay;
-}
-
-function verifyMethodDisplay(name: string, className: string,
- optionalInstanceType?: ts.SymbolDisplayPart[], optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
- var functionDisplay = [{ text: "(", kind: "punctuation" }, { text: "method", kind: "text" },
- { text: ")", kind: "punctuation" }, { text: " ", kind: "space" }].concat(
- getMethodDisplay(name, className, optionalInstanceType, optionalExtends));
-
- verify.verifyQuickInfoDisplayParts("method", "",
- { start: test.markerByName(markerName).position, length: name.length },
- functionDisplay, []);
-}
-
-function verifyClassInstance(name: string, typeDisplay: ts.SymbolDisplayPart[]) {
- goToMarker();
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: name.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: name, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }].concat(typeDisplay),
- []);
-}
-
-function verifyVarTypeOf(name: string, typeOfSymbol: ts.SymbolDisplayPart) {
- goToMarker();
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: name.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: name, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "typeof", kind: "keyword" },
- { text: " ", kind: "space" }].concat(typeOfSymbol),
- []);
-}
-
-var stringTypeDisplay = [{ text: "string", kind: "keyword" }];
-var extendsTypeDisplay = getClassDisplay("c", stringTypeDisplay);
-
-// Declaration
-verifyClassDisplay("c");
-verifyTypeParameter("T", getClassDisplay("c"));
-
-// Constructor declaration
-verifyConstructor("c");
-verifyParameter("a", "T");
-verifyTypeParameter("T", getClassDisplay("c"));
-
-// Method declaration
-verifyMethodDisplay("method", "c");
-verifyTypeParameter("U", getMethodDisplay("method", "c"));
-verifyParameter("a", "U");
-verifyTypeParameter("U", getMethodDisplay("method", "c"));
-verifyParameter("b", "T");
-verifyTypeParameter("T", getClassDisplay("c"));
-verifyParameter("a", "U");
-
-// Instance creation
-verifyClassInstance("cInstance", getClassDisplay("c", stringTypeDisplay));
-verifyConstructor("c", stringTypeDisplay);
-
-// typeof assignment
-verifyVarTypeOf("cVal", { text: "c", kind: "className" });
-verifyClassDisplay("c");
-
-// Method call
-verifyClassInstance("cInstance", getClassDisplay("c", stringTypeDisplay));
-verifyMethodDisplay("method", "c", stringTypeDisplay);
-
-// With constraint
-// Declaration
-verifyClassDisplay("c2", getClassDisplay("c", stringTypeDisplay));
-verifyTypeParameter("T", getClassDisplay("c2", /*instanceType*/undefined, extendsTypeDisplay));
-verifyClassDisplay("c");
-
-// Constructor declaration
-verifyConstructor("c2", /*instanceType*/undefined, extendsTypeDisplay);
-verifyParameter("a", "T", extendsTypeDisplay);
-verifyTypeParameter("T", getClassDisplay("c2", /*instanceType*/undefined, extendsTypeDisplay));
-
-// Method declaration
-verifyMethodDisplay("method", "c2", /*instance*/undefined, extendsTypeDisplay);
-verifyTypeParameter("U", getMethodDisplay("method", "c2", /*instance*/undefined, extendsTypeDisplay));
-verifyClassDisplay("c");
-verifyParameter("a", "U", extendsTypeDisplay);
-verifyTypeParameter("U", getMethodDisplay("method", "c2", /*instance*/undefined, extendsTypeDisplay));
-verifyParameter("b", "T", extendsTypeDisplay);
-verifyTypeParameter("T", getClassDisplay("c2", /*instanceType*/undefined, extendsTypeDisplay));
-verifyParameter("a", "U", extendsTypeDisplay);
-
-// Instance creation
-verifyClassInstance("cInstance1", getClassDisplay("c2", extendsTypeDisplay));
-verifyConstructor("c2", extendsTypeDisplay);
-verifyClassInstance("cInstance", getClassDisplay("c", stringTypeDisplay));
-
-// typeof assignment
-verifyVarTypeOf("cVal2", { text: "c2", kind: "className" });
-verifyClassDisplay("c2", getClassDisplay("c", stringTypeDisplay));
-
-// Method call
-verifyClassInstance("cInstance1", getClassDisplay("c2", extendsTypeDisplay));
-verifyMethodDisplay("method", "c2", extendsTypeDisplay);
-verifyClassInstance("cInstance", getClassDisplay("c", stringTypeDisplay));
-verifyClassInstance("cInstance", getClassDisplay("c", stringTypeDisplay));
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts
index 2cbb50bbea7..cabf0e97636 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts
@@ -10,108 +10,4 @@
////}
/////*12*/foo2("hello");
-var marker = 0;
-var markerName: string;
-
-function goToMarker() {
- marker++;
- markerName = marker.toString();
- goTo.marker(markerName);
-}
-
-function getTypeParameterDisplay(instanceType: ts.SymbolDisplayPart[],
- name: string, optionalExtends?: ts.SymbolDisplayPart[]) {
- return instanceType ||
- function () {
- var typeParameterDisplay = [{ text: name, kind: "typeParameterName" }];
- if (optionalExtends) {
- typeParameterDisplay.push({ text: " ", kind: "space" }, { text: "extends", kind: "keyword" },
- { text: " ", kind: "space" });
- typeParameterDisplay = typeParameterDisplay.concat(optionalExtends);
- }
- return typeParameterDisplay
- } ();
-}
-
-function verifyTypeParameter(name: string, inDisplay: ts.SymbolDisplayPart[]) {
- goToMarker();
-
- var typeParameterDisplay = [{ text: "(", kind: "punctuation" }, { text: "type parameter", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: name, kind: "typeParameterName" },
- { text: " ", kind: "space" }, { text: "in", kind: "keyword" }, { text: " ", kind: "space" }];
- typeParameterDisplay = typeParameterDisplay.concat(inDisplay);
-
- verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName(markerName).position, length: name.length },
- typeParameterDisplay, []);
-}
-
-function verifyParameter(name: string, typeParameterName: string, optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
- var parameterDisplay = [{ text: "(", kind: "punctuation" }, { text: "parameter", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: name, kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: typeParameterName, kind: "typeParameterName" }];
- if (optionalExtends) {
- parameterDisplay.push({ text: " ", kind: "space" }, { text: "extends", kind: "keyword" },
- { text: " ", kind: "space" });
- parameterDisplay = parameterDisplay.concat(optionalExtends);
- }
- verify.verifyQuickInfoDisplayParts("parameter", "", { start: test.markerByName(markerName).position, length: name.length },
- parameterDisplay, []);
-}
-
-function getFunctionDisplay(name: string, optionalInstanceType?: ts.SymbolDisplayPart[],
- optionalExtends?: ts.SymbolDisplayPart[]) {
- var functionDisplay = [{ text: name, kind: "functionName" }, { text: "<", kind: "punctuation" }];
-
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U", optionalExtends));
-
- functionDisplay.push({ text: ">", kind: "punctuation" }, { text: "(", kind: "punctuation" },
- { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" });
-
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U"));
-
- functionDisplay.push({ text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" });
-
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U"));
-
- return functionDisplay;
-}
-
-function verifyFunctionDisplay(name: string, optionalInstanceType?: ts.SymbolDisplayPart[],
- optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
- var functionDisplay = [{ text: "function", kind: "keyword" }, { text: " ", kind: "space" }].concat(
- getFunctionDisplay(name, optionalInstanceType, optionalExtends));
-
- verify.verifyQuickInfoDisplayParts("function", "",
- { start: test.markerByName(markerName).position, length: name.length },
- functionDisplay, []);
-}
-
-var stringTypeDisplay = [{ text: "string", kind: "keyword" }];
-
-// Declaration
-verifyFunctionDisplay("foo");
-verifyTypeParameter("U", getFunctionDisplay("foo"));
-verifyParameter("a", "U");
-verifyTypeParameter("U", getFunctionDisplay("foo"));
-verifyParameter("a", "U");
-
-// Call
-verifyFunctionDisplay("foo", stringTypeDisplay);
-
-// With constraint
-// Declaration
-verifyFunctionDisplay("foo2", /*instance*/ undefined, stringTypeDisplay);
-verifyTypeParameter("U", getFunctionDisplay("foo2", /*instance*/ undefined, stringTypeDisplay));
-verifyParameter("a", "U", stringTypeDisplay);
-verifyTypeParameter("U", getFunctionDisplay("foo2", /*instance*/ undefined, stringTypeDisplay));
-verifyParameter("a", "U", stringTypeDisplay);
-
-// Call
-verifyFunctionDisplay("foo2", [{ text: "\"hello\"", kind: "stringLiteral" }]);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts
index b6ae5ea1c6b..17549302b2d 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunctionLikeInTypeAlias.ts
@@ -3,20 +3,4 @@
//// type MixinCtor = new () => /*0*/A & { constructor: MixinCtor*1*/A> };
//// type MixinCtor = new () => A & { constructor: { constructor: MixinCtor*2*/A> } };
-let typeAliashDisplayParts = [{ text: "type", kind: "keyword" }, { text: " ", kind: "space" }, { text: "MixinCtor", kind: "aliasName" },
- { text: "<", kind: "punctuation" }, { text: "A", kind: "typeParameterName" }, { text: ">", kind: "punctuation" }];
-
-let typeParameterDisplayParts = [{ text: "(", kind: "punctuation" }, { text: "type parameter", kind: "text" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "A", kind: "typeParameterName" }, { text: " ", kind: "space" }, { text: "in", kind: "keyword" }, { text: " ", kind: "space" }];
-
-goTo.marker('0');
-verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("0").position, length: "A".length },
- typeParameterDisplayParts.concat(typeAliashDisplayParts), []);
-
-goTo.marker('1');
-verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("1").position, length: "A".length },
- typeParameterDisplayParts.concat(typeAliashDisplayParts), []);;
-
-goTo.marker('2');
-verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("2").position, length: "A".length },
- typeParameterDisplayParts.concat(typeAliashDisplayParts), []);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts
index d9ffd3fb922..a4d0d9e2563 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts
@@ -19,245 +19,4 @@
/////*59*/iVal1(/*60*/iVal, /*61*/iVal);
/////*62*/iVal1./*63*/method(/*64*/iVal, /*65*/iVal);
-var marker = 0;
-var markerName: string;
-
-function goToMarker() {
- marker++;
- markerName = marker.toString();
- goTo.marker(markerName);
-}
-
-function getTypeParameterDisplay(instanceType: ts.SymbolDisplayPart[],
- name: string, optionalExtends?: ts.SymbolDisplayPart[]) {
- return instanceType ||
- function () {
- var typeParameterDisplay = [{ text: name, kind: "typeParameterName" }];
- if (optionalExtends) {
- typeParameterDisplay.push({ text: " ", kind: "space" }, { text: "extends", kind: "keyword" },
- { text: " ", kind: "space" });
- typeParameterDisplay = typeParameterDisplay.concat(optionalExtends);
- }
- return typeParameterDisplay
- } ();
-}
-
-function getInterfaceDisplay(name: string, optionalInstanceType?: ts.SymbolDisplayPart[],
- optionalExtends?: ts.SymbolDisplayPart[]) {
- var interfaceDisplay = [{ text: name, kind: "interfaceName" }, { text: "<", kind: "punctuation" }];
- interfaceDisplay = interfaceDisplay.concat(getTypeParameterDisplay(optionalInstanceType, "T", optionalExtends));
- interfaceDisplay.push({ text: ">", kind: "punctuation" });
- return interfaceDisplay;
-}
-
-function verifyInterfaceDisplay(name: string, optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
-
- verify.verifyQuickInfoDisplayParts("interface", "", { start: test.markerByName(markerName).position, length: name.length },
- [{ text: "interface", kind: "keyword" }, { text: " ", kind: "space" }].concat(
- getInterfaceDisplay(name, undefined, optionalExtends)), []);
-}
-
-function verifyTypeParameter(name: string, inDisplay: ts.SymbolDisplayPart[]) {
- goToMarker();
-
- var typeParameterDisplay = [{ text: "(", kind: "punctuation" }, { text: "type parameter", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: name, kind: "typeParameterName" },
- { text: " ", kind: "space" }, { text: "in", kind: "keyword" }, { text: " ", kind: "space" }];
- typeParameterDisplay = typeParameterDisplay.concat(inDisplay);
-
- verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName(markerName).position, length: name.length },
- typeParameterDisplay, []);
-}
-
-function verifyParameter(name: string, typeParameterName: string, optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
- var parameterDisplay = [{ text: "(", kind: "punctuation" }, { text: "parameter", kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: name, kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: typeParameterName, kind: "typeParameterName" }];
- if (optionalExtends) {
- parameterDisplay.push({ text: " ", kind: "space" }, { text: "extends", kind: "keyword" },
- { text: " ", kind: "space" });
- parameterDisplay = parameterDisplay.concat(optionalExtends);
- }
- verify.verifyQuickInfoDisplayParts("parameter", "", { start: test.markerByName(markerName).position, length: name.length },
- parameterDisplay, []);
-}
-
-function getSignatureDisplay(isArrow: boolean, optionalInstanceType?: ts.SymbolDisplayPart[],
- optionalExtends?: ts.SymbolDisplayPart[]) {
- var functionDisplay: ts.SymbolDisplayPart[] = [];
-
- functionDisplay.push({ text: "<", kind: "punctuation" });
-
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U", optionalExtends));
-
- functionDisplay.push({ text: ">", kind: "punctuation" }, { text: "(", kind: "punctuation" },
- { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" });
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U"));
- functionDisplay.push({ text: ",", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "b", kind: "parameterName" },
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" });
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "T"));
-
- functionDisplay.push({ text: ")", kind: "punctuation" });
- if (isArrow) {
- functionDisplay.push({ text: " ", kind: "space" }, { text: "=>", kind: "punctuation" });
- }
- else {
- functionDisplay.push({ text: ":", kind: "punctuation" });
- }
- functionDisplay.push({ text: " ", kind: "space" });
-
- functionDisplay = functionDisplay.concat(
- getTypeParameterDisplay(optionalInstanceType, "U"));
-
- return functionDisplay;
-}
-
-function getMethodDisplay(name: string, interfaceName: string, optionalInstanceType?: ts.SymbolDisplayPart[],
- optionalExtends?: ts.SymbolDisplayPart[]) {
- return getInterfaceDisplay(interfaceName, optionalInstanceType, optionalExtends).concat(
- { text: ".", kind: "punctuation" }, { text: name, kind: "methodName" }).concat(
- getSignatureDisplay(/*isArrow*/ false, optionalInstanceType, optionalExtends));
-}
-
-function getCallOrNewSignatureDisplay(isNew: boolean, isArrow: boolean, interfaceName?: string,
- optionalInstanceType?: ts.SymbolDisplayPart[], optionalExtends?: ts.SymbolDisplayPart[]) {
- var result: ts.SymbolDisplayPart[] = [];
- if (isNew) {
- result.push({ text: "new", kind: "keyword" }, { text: " ", kind: "space" });
- }
- if (interfaceName) {
- result.push({ text: interfaceName, kind: "interfaceName" });
- }
-
- return result.concat(getSignatureDisplay(isArrow, optionalInstanceType, optionalExtends));
-}
-
-function verifyMethodDisplay(name: string, interfaceName: string,
- optionalInstanceType?: ts.SymbolDisplayPart[], optionalExtends?: ts.SymbolDisplayPart[]) {
- goToMarker();
- var functionDisplay = [{ text: "(", kind: "punctuation" }, { text: "method", kind: "text" },
- { text: ")", kind: "punctuation" }, { text: " ", kind: "space" }].concat(
- getMethodDisplay(name, interfaceName, optionalInstanceType, optionalExtends));
-
- verify.verifyQuickInfoDisplayParts("method", "",
- { start: test.markerByName(markerName).position, length: name.length },
- functionDisplay, []);
-}
-
-function verifyInterfaceVar(name: string, typeDisplay: ts.SymbolDisplayPart[]) {
- goToMarker();
- verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: name.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }, { text: name, kind: "localName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }].concat(typeDisplay),
- []);
-}
-
-var stringTypeDisplay = [{ text: "string", kind: "keyword" }];
-var extendsTypeDisplay = getInterfaceDisplay("I", stringTypeDisplay);
-
-
-// Declaration
-verifyInterfaceDisplay("I");
-verifyTypeParameter("T", getInterfaceDisplay("I"));
-
-// New declaration
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ true, /*isArrow*/ false));
-verifyParameter("a", "U");
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ true, /*isArrow*/ false));
-verifyParameter("b", "T");
-verifyTypeParameter("T", getInterfaceDisplay("I"));
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ true, /*isArrow*/ false));
-
-// Call declaration
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ false, /*isArrow*/ false));
-verifyParameter("a", "U");
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ false, /*isArrow*/ false));
-verifyParameter("b", "T");
-verifyTypeParameter("T", getInterfaceDisplay("I"));
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ false, /*isArrow*/ false));
-
-// Method declaration
-verifyMethodDisplay("method", "I");
-verifyTypeParameter("U", getMethodDisplay("method", "I"));
-verifyParameter("a", "U");
-verifyTypeParameter("U", getMethodDisplay("method", "I"));
-verifyParameter("b", "T");
-verifyTypeParameter("T", getInterfaceDisplay("I"));
-verifyTypeParameter("U", getMethodDisplay("method", "I"));
-
-// Instance
-verifyInterfaceVar("iVal", getInterfaceDisplay("I", stringTypeDisplay));
-verifyInterfaceDisplay("I");
-
-// new
-verifyInterfaceVar("iVal", getCallOrNewSignatureDisplay(/*isNew*/ true, /*isArrow*/ true, "I", stringTypeDisplay));
-
-// call
-verifyInterfaceVar("iVal", getCallOrNewSignatureDisplay(/*isNew*/ false, /*isArrow*/ true, "I", stringTypeDisplay));
-
-// Method call
-verifyInterfaceVar("iVal", getInterfaceDisplay("I", stringTypeDisplay));
-verifyMethodDisplay("method", "I", stringTypeDisplay);
-
-// With constraint
-// Declaration
-verifyInterfaceDisplay("I1", extendsTypeDisplay);
-verifyTypeParameter("T", getInterfaceDisplay("I1", /*instance*/undefined, extendsTypeDisplay));
-verifyInterfaceDisplay("I");
-
-// New declaration
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ true, /*isArrow*/ false, /*interfaceName*/undefined, /*instance*/undefined, extendsTypeDisplay));
-verifyInterfaceDisplay("I");
-verifyParameter("a", "U", extendsTypeDisplay);
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ true, /*isArrow*/ false, /*interfaceName*/undefined, /*instance*/undefined, extendsTypeDisplay));
-verifyParameter("b", "T", extendsTypeDisplay);
-verifyTypeParameter("T", getInterfaceDisplay("I1", /*instance*/undefined, extendsTypeDisplay));
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ true, /*isArrow*/ false, /*interfaceName*/undefined, /*instance*/undefined, extendsTypeDisplay));
-
-// Call declaration
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ false, /*isArrow*/ false, /*interfaceName*/undefined, /*instance*/undefined, extendsTypeDisplay));
-verifyInterfaceDisplay("I");
-verifyParameter("a", "U", extendsTypeDisplay);
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ false, /*isArrow*/ false, /*interfaceName*/undefined, /*instance*/undefined, extendsTypeDisplay));
-verifyParameter("b", "T", extendsTypeDisplay);
-verifyTypeParameter("T", getInterfaceDisplay("I1", /*instance*/undefined, extendsTypeDisplay));
-verifyTypeParameter("U", getCallOrNewSignatureDisplay(/*isNew*/ false, /*isArrow*/ false, /*interfaceName*/undefined, /*instance*/undefined, extendsTypeDisplay));
-
-// Method declaration
-verifyMethodDisplay("method", "I1", /*instance*/ undefined, extendsTypeDisplay);
-verifyTypeParameter("U", getMethodDisplay("method", "I1", /*instance*/ undefined, extendsTypeDisplay));
-verifyInterfaceDisplay("I");
-verifyParameter("a", "U", extendsTypeDisplay);
-verifyTypeParameter("U", getMethodDisplay("method", "I1", /*instance*/ undefined, extendsTypeDisplay));
-verifyParameter("b", "T", extendsTypeDisplay);
-verifyTypeParameter("T", getInterfaceDisplay("I1", /*instance*/undefined, extendsTypeDisplay));
-verifyTypeParameter("U", getMethodDisplay("method", "I1", /*instance*/ undefined, extendsTypeDisplay));
-
-// Instance
-verifyInterfaceVar("iVal1", getInterfaceDisplay("I1", extendsTypeDisplay));
-verifyInterfaceDisplay("I1", extendsTypeDisplay);
-verifyInterfaceDisplay("I");
-
-// new
-verifyInterfaceVar("iVal1", getCallOrNewSignatureDisplay(/*isNew*/ true, /*isArrow*/ true, "I1", extendsTypeDisplay));
-verifyInterfaceVar("iVal", getInterfaceDisplay("I", stringTypeDisplay));
-verifyInterfaceVar("iVal", getInterfaceDisplay("I", stringTypeDisplay));
-
-// call
-verifyInterfaceVar("iVal1", getCallOrNewSignatureDisplay(/*isNew*/ false, /*isArrow*/ true, "I1", extendsTypeDisplay));
-verifyInterfaceVar("iVal", getInterfaceDisplay("I", stringTypeDisplay));
-verifyInterfaceVar("iVal", getInterfaceDisplay("I", stringTypeDisplay));
-
-// Method call
-verifyInterfaceVar("iVal1", getInterfaceDisplay("I1", extendsTypeDisplay));
-verifyMethodDisplay("method", "I1", extendsTypeDisplay);
-verifyInterfaceVar("iVal", getInterfaceDisplay("I", stringTypeDisplay));
-verifyInterfaceVar("iVal", getInterfaceDisplay("I", stringTypeDisplay));
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts
index 5dbcfa93d78..e341c6e962b 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInTypeAlias.ts
@@ -3,39 +3,4 @@
////type /*0*/List*1*/T> = /*2*/T[]
////type /*3*/List2*4*/T extends string> = /*5*/T[];
-let typeAliashDisplayParts = [{ text: "type", kind: "keyword" }, { text: " ", kind: "space" }, { text: "List", kind: "aliasName" },
- { text: "<", kind: "punctuation" }, { text: "T", kind: "typeParameterName" }, { text: ">", kind: "punctuation" }];
-
-let typeAliashDisplayParts2 = [{ text: "type", kind: "keyword" }, { text: " ", kind: "space" }, { text: "List2", kind: "aliasName" },
- { text: "<", kind: "punctuation" }, { text: "T", kind: "typeParameterName" }, { text: " ", kind: "space" }, { text: "extends", kind: "keyword" },
- { text: " ", kind: "space" }, { text: "string", kind: "keyword" }, { text: ">", kind: "punctuation" }];
-
-let typeParameterDisplayParts = [{ text: "(", kind: "punctuation" }, { text: "type parameter", kind: "text" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" },
- { text: "T", kind: "typeParameterName" }, { text: " ", kind: "space" }, { text: "in", kind: "keyword" }, { text: " ", kind: "space" } ]
-
-
-goTo.marker('0');
-verify.verifyQuickInfoDisplayParts("type", "", { start: test.markerByName("0").position, length: "List".length },
- typeAliashDisplayParts.concat([{ text: " ", kind: "space" }, { text: "=", kind: "operator" }, { "text": " ", "kind": "space" }, { text: "T", kind: "typeParameterName" },
- { text: "[", kind: "punctuation" }, { text: "]", kind: "punctuation" }]), []);
-
-goTo.marker('1');
-verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("1").position, length: "T".length },
- typeParameterDisplayParts.concat(typeAliashDisplayParts), []);
-
-goTo.marker('2');
-verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("2").position, length: "T".length },
- typeParameterDisplayParts.concat(typeAliashDisplayParts), []);
-
-goTo.marker('3');
-verify.verifyQuickInfoDisplayParts("type", "", { start: test.markerByName("3").position, length: "List2".length },
- typeAliashDisplayParts2.concat([{ text: " ", kind: "space" }, { text: "=", kind: "operator" }, { "text": " ", "kind": "space" }, { text: "T", kind: "typeParameterName" },
- { text: "[", kind: "punctuation" }, { text: "]", kind: "punctuation" }]), []);
-
-goTo.marker('4');
-verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("4").position, length: "T".length },
- typeParameterDisplayParts.concat(typeAliashDisplayParts2), []);
-
-goTo.marker('5');
-verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("5").position, length: "T".length },
- typeParameterDisplayParts.concat(typeAliashDisplayParts2), []);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsVar.ts b/tests/cases/fourslash/quickInfoDisplayPartsVar.ts
index d7666bace34..61fd1aea74b 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsVar.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsVar.ts
@@ -15,72 +15,5 @@
////var /*11*/i = /*12*/h;
/////*13*/h(10);
/////*14*/h("hello");
-var marker = 0;
-function verifyVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) {
- marker++;
- goTo.marker(marker.toString());
- var kind = "var";
- verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "var", kind: "keyword" },
- { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-function verifyLocalVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) {
- marker++;
- goTo.marker(marker.toString());
- var kind = "local var";
- verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "(", kind: "punctuation" }, { text: kind, kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-
-var numberTypeDisplay: ts.SymbolDisplayPart[] = [{ text: "number", kind: "keyword" }];
-
-verifyVar("a", numberTypeDisplay);
-verifyLocalVar("b", numberTypeDisplay);
-verifyVar("a", numberTypeDisplay);
-verifyVar("c", numberTypeDisplay);
-verifyVar("d", numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export");
-
-var functionTypeReturningNumber: ts.SymbolDisplayPart[] = [{ text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "number", kind: "keyword" }];
-verifyVar("f", functionTypeReturningNumber);
-verifyVar("g", functionTypeReturningNumber);
-verifyVar("f", functionTypeReturningNumber);
-verifyVar("f", functionTypeReturningNumber);
-
-
-function getFunctionType(parametertype: string, returnType: string, isArrow?: boolean): ts.SymbolDisplayPart[] {
- var functionTypeDisplay = [{ text: "(", kind: "punctuation" }, { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: parametertype, kind: "keyword" }, { text: ")", kind: "punctuation" }];
-
- if (isArrow) {
- functionTypeDisplay = functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: "=>", kind: "punctuation" });
- }
- else {
- functionTypeDisplay = functionTypeDisplay.concat({ text: ":", kind: "punctuation" });
- }
-
- return functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: returnType, kind: "keyword" });
-}
-
-var typeLiteralWithOverloadCall: ts.SymbolDisplayPart[] = [{ text: "{", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }].concat(getFunctionType("string", "number")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }).concat(getFunctionType("number", "string")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, { text: "}", kind: "punctuation" });
-
-verifyVar("h", typeLiteralWithOverloadCall);
-verifyVar("i", typeLiteralWithOverloadCall);
-verifyVar("h", typeLiteralWithOverloadCall);
-
-var overloadDisplay: ts.SymbolDisplayPart[] = [{ text: " ", kind: "space" }, { text: "(", kind: "punctuation" },
- { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: "overload", kind: "text" }, { text: ")", kind: "punctuation" }];
-
-verifyVar("h", getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay));
-verifyVar("h", getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay));
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts b/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts
index b48c7cfa3de..63a31f20258 100644
--- a/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts
+++ b/tests/cases/fourslash/quickInfoDisplayPartsVarWithStringTypes01.ts
@@ -4,38 +4,4 @@
////let /*2*/world: 'world' = "world";
////let /*3*/helloOrWorld: "hello" | 'world';
-goTo.marker("1");
-verify.verifyQuickInfoDisplayParts("let", "", { start: test.markerByName('1').position, length: "hello".length }, [
- { text: "let", kind: "keyword" },
- { text: " ", kind: "space" },
- { text: "hello", kind: "localName" },
- { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: '"hello"', kind: "stringLiteral" }, ],
- /*documentation*/ []);
-
-goTo.marker("2");
-verify.verifyQuickInfoDisplayParts("let", "", { start: test.markerByName('2').position, length: "world".length }, [
- { text: "let", kind: "keyword" },
- { text: " ", kind: "space" },
- { text: "world", kind: "localName" },
- { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: '"world"', kind: "stringLiteral" },
- ],
- /*documentation*/[]);
-
-goTo.marker("3");
-verify.verifyQuickInfoDisplayParts("let", "", { start: test.markerByName('3').position, length: "helloOrWorld".length }, [
- { text: "let", kind: "keyword" },
- { text: " ", kind: "space" },
- { text: "helloOrWorld", kind: "localName" },
- { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: '"hello"', kind: "stringLiteral" },
- { text: " ", kind: "space" },
- { text: "|", kind: "punctuation" },
- { text: " ", kind: "space" },
- { text: '"world"', kind: "stringLiteral" },
- ],
- /*documentation*/[]);
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts b/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts
index 234c23277b6..61fd1aea74b 100644
--- a/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts
+++ b/tests/cases/fourslash/shims-pp/quickInfoDisplayPartsVar.ts
@@ -16,71 +16,4 @@
/////*13*/h(10);
/////*14*/h("hello");
-var marker = 0;
-function verifyVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) {
- marker++;
- goTo.marker(marker.toString());
- var kind = "var";
- verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: kind, kind: "keyword" },
- { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-function verifyLocalVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) {
- marker++;
- goTo.marker(marker.toString());
- var kind = "local var";
- verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "(", kind: "punctuation" }, { text: kind, kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-
-var numberTypeDisplay: ts.SymbolDisplayPart[] = [{ text: "number", kind: "keyword" }];
-
-verifyVar("a", numberTypeDisplay);
-verifyLocalVar("b", numberTypeDisplay);
-verifyVar("a", numberTypeDisplay);
-verifyVar("c", numberTypeDisplay);
-verifyVar("d", numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export");
-
-var functionTypeReturningNumber: ts.SymbolDisplayPart[] = [{ text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "number", kind: "keyword" }];
-verifyVar("f", functionTypeReturningNumber);
-verifyVar("g", functionTypeReturningNumber);
-verifyVar("f", functionTypeReturningNumber);
-verifyVar("f", functionTypeReturningNumber);
-
-
-function getFunctionType(parametertype: string, returnType: string, isArrow?: boolean): ts.SymbolDisplayPart[] {
- var functionTypeDisplay = [{ text: "(", kind: "punctuation" }, { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: parametertype, kind: "keyword" }, { text: ")", kind: "punctuation" }];
-
- if (isArrow) {
- functionTypeDisplay = functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: "=>", kind: "punctuation" });
- }
- else {
- functionTypeDisplay = functionTypeDisplay.concat({ text: ":", kind: "punctuation" });
- }
-
- return functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: returnType, kind: "keyword" });
-}
-
-var typeLiteralWithOverloadCall: ts.SymbolDisplayPart[] = [{ text: "{", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }].concat(getFunctionType("string", "number")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }).concat(getFunctionType("number", "string")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, { text: "}", kind: "punctuation" });
-
-verifyVar("h", typeLiteralWithOverloadCall);
-verifyVar("i", typeLiteralWithOverloadCall);
-verifyVar("h", typeLiteralWithOverloadCall);
-
-var overloadDisplay: ts.SymbolDisplayPart[] = [{ text: " ", kind: "space" }, { text: "(", kind: "punctuation" },
- { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: "overload", kind: "text" }, { text: ")", kind: "punctuation" }];
-
-verifyVar("h", getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay));
-verifyVar("h", getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay));
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file
diff --git a/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts b/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts
index 234c23277b6..61fd1aea74b 100644
--- a/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts
+++ b/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts
@@ -16,71 +16,4 @@
/////*13*/h(10);
/////*14*/h("hello");
-var marker = 0;
-function verifyVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) {
- marker++;
- goTo.marker(marker.toString());
- var kind = "var";
- verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: kind, kind: "keyword" },
- { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-function verifyLocalVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) {
- marker++;
- goTo.marker(marker.toString());
- var kind = "local var";
- verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length },
- [{ text: "(", kind: "punctuation" }, { text: kind, kind: "text" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat(
- { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay),
- []);
-}
-
-var numberTypeDisplay: ts.SymbolDisplayPart[] = [{ text: "number", kind: "keyword" }];
-
-verifyVar("a", numberTypeDisplay);
-verifyLocalVar("b", numberTypeDisplay);
-verifyVar("a", numberTypeDisplay);
-verifyVar("c", numberTypeDisplay);
-verifyVar("d", numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export");
-
-var functionTypeReturningNumber: ts.SymbolDisplayPart[] = [{ text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "number", kind: "keyword" }];
-verifyVar("f", functionTypeReturningNumber);
-verifyVar("g", functionTypeReturningNumber);
-verifyVar("f", functionTypeReturningNumber);
-verifyVar("f", functionTypeReturningNumber);
-
-
-function getFunctionType(parametertype: string, returnType: string, isArrow?: boolean): ts.SymbolDisplayPart[] {
- var functionTypeDisplay = [{ text: "(", kind: "punctuation" }, { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" },
- { text: " ", kind: "space" }, { text: parametertype, kind: "keyword" }, { text: ")", kind: "punctuation" }];
-
- if (isArrow) {
- functionTypeDisplay = functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: "=>", kind: "punctuation" });
- }
- else {
- functionTypeDisplay = functionTypeDisplay.concat({ text: ":", kind: "punctuation" });
- }
-
- return functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: returnType, kind: "keyword" });
-}
-
-var typeLiteralWithOverloadCall: ts.SymbolDisplayPart[] = [{ text: "{", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }].concat(getFunctionType("string", "number")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" },
- { text: " ", kind: "space" }).concat(getFunctionType("number", "string")).concat(
- { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, { text: "}", kind: "punctuation" });
-
-verifyVar("h", typeLiteralWithOverloadCall);
-verifyVar("i", typeLiteralWithOverloadCall);
-verifyVar("h", typeLiteralWithOverloadCall);
-
-var overloadDisplay: ts.SymbolDisplayPart[] = [{ text: " ", kind: "space" }, { text: "(", kind: "punctuation" },
- { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" },
- { text: " ", kind: "space" }, { text: "overload", kind: "text" }, { text: ")", kind: "punctuation" }];
-
-verifyVar("h", getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay));
-verifyVar("h", getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay));
\ No newline at end of file
+verify.baselineQuickInfo();
\ No newline at end of file