Skip to content

Commit d2057c8

Browse files
committed
Handle feedback from microsoft#39119
1 parent 3e68b15 commit d2057c8

File tree

6 files changed

+37
-38
lines changed

6 files changed

+37
-38
lines changed

src/compiler/types.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7764,11 +7764,6 @@ namespace ts {
77647764
newLength: number;
77657765
}
77667766

7767-
export const enum SemanticClassificationFormat {
7768-
Original = "original",
7769-
TwentyTwenty = "2020"
7770-
}
7771-
77727767
/* @internal */
77737768
export interface DiagnosticCollection {
77747769
// Adds a diagnostic to this diagnostic collection.

src/harness/fourslashImpl.ts

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2451,37 +2451,37 @@ namespace FourSlash {
24512451
private classificationToIdentifier(classification: number){
24522452

24532453
const tokenTypes: string[] = [];
2454-
tokenTypes[ts.classifier.vscode.TokenType.class] = "class";
2455-
tokenTypes[ts.classifier.vscode.TokenType.enum] = "enum";
2456-
tokenTypes[ts.classifier.vscode.TokenType.interface] = "interface";
2457-
tokenTypes[ts.classifier.vscode.TokenType.namespace] = "namespace";
2458-
tokenTypes[ts.classifier.vscode.TokenType.typeParameter] = "typeParameter";
2459-
tokenTypes[ts.classifier.vscode.TokenType.type] = "type";
2460-
tokenTypes[ts.classifier.vscode.TokenType.parameter] = "parameter";
2461-
tokenTypes[ts.classifier.vscode.TokenType.variable] = "variable";
2462-
tokenTypes[ts.classifier.vscode.TokenType.enumMember] = "enumMember";
2463-
tokenTypes[ts.classifier.vscode.TokenType.property] = "property";
2464-
tokenTypes[ts.classifier.vscode.TokenType.function] = "function";
2465-
tokenTypes[ts.classifier.vscode.TokenType.member] = "member";
2454+
tokenTypes[ts.classifier.modern.TokenType.class] = "class";
2455+
tokenTypes[ts.classifier.modern.TokenType.enum] = "enum";
2456+
tokenTypes[ts.classifier.modern.TokenType.interface] = "interface";
2457+
tokenTypes[ts.classifier.modern.TokenType.namespace] = "namespace";
2458+
tokenTypes[ts.classifier.modern.TokenType.typeParameter] = "typeParameter";
2459+
tokenTypes[ts.classifier.modern.TokenType.type] = "type";
2460+
tokenTypes[ts.classifier.modern.TokenType.parameter] = "parameter";
2461+
tokenTypes[ts.classifier.modern.TokenType.variable] = "variable";
2462+
tokenTypes[ts.classifier.modern.TokenType.enumMember] = "enumMember";
2463+
tokenTypes[ts.classifier.modern.TokenType.property] = "property";
2464+
tokenTypes[ts.classifier.modern.TokenType.function] = "function";
2465+
tokenTypes[ts.classifier.modern.TokenType.member] = "member";
24662466

24672467
const tokenModifiers: string[] = [];
2468-
tokenModifiers[ts.classifier.vscode.TokenModifier.async] = "async";
2469-
tokenModifiers[ts.classifier.vscode.TokenModifier.declaration] = "declaration";
2470-
tokenModifiers[ts.classifier.vscode.TokenModifier.readonly] = "readonly";
2471-
tokenModifiers[ts.classifier.vscode.TokenModifier.static] = "static";
2472-
tokenModifiers[ts.classifier.vscode.TokenModifier.local] = "local";
2473-
tokenModifiers[ts.classifier.vscode.TokenModifier.defaultLibrary] = "defaultLibrary";
2468+
tokenModifiers[ts.classifier.modern.TokenModifier.async] = "async";
2469+
tokenModifiers[ts.classifier.modern.TokenModifier.declaration] = "declaration";
2470+
tokenModifiers[ts.classifier.modern.TokenModifier.readonly] = "readonly";
2471+
tokenModifiers[ts.classifier.modern.TokenModifier.static] = "static";
2472+
tokenModifiers[ts.classifier.modern.TokenModifier.local] = "local";
2473+
tokenModifiers[ts.classifier.modern.TokenModifier.defaultLibrary] = "defaultLibrary";
24742474

24752475

24762476
function getTokenTypeFromClassification(tsClassification: number): number | undefined {
2477-
if (tsClassification > ts.classifier.vscode.TokenEncodingConsts.modifierMask) {
2478-
return (tsClassification >> ts.classifier.vscode.TokenEncodingConsts.typeOffset) - 1;
2477+
if (tsClassification > ts.classifier.modern.TokenEncodingConsts.modifierMask) {
2478+
return (tsClassification >> ts.classifier.modern.TokenEncodingConsts.typeOffset) - 1;
24792479
}
24802480
return undefined;
24812481
}
24822482

24832483
function getTokenModifierFromClassification(tsClassification: number) {
2484-
return tsClassification & ts.classifier.vscode.TokenEncodingConsts.modifierMask;
2484+
return tsClassification & ts.classifier.modern.TokenEncodingConsts.modifierMask;
24852485
}
24862486

24872487
const typeIdx = getTokenTypeFromClassification(classification) || 0;
@@ -2566,15 +2566,13 @@ namespace FourSlash {
25662566
});
25672567
replacement.push(");");
25682568

2569-
// throw new Error("You need to change the source code of fourslash test to use replaceWithSemanticClassifications");
2570-
2571-
2572-
const fs = require("fs");
2573-
const testfilePath = this.originalInputFileName.slice(1);
2574-
const testfile = fs.readFileSync(testfilePath, "utf8");
2575-
const newfile = testfile.replace("verify.replaceWithSemanticClassifications(\"2020\")", replacement.join("\n"));
2576-
fs.writeFileSync(testfilePath, newfile);
2569+
throw new Error("You need to change the source code of fourslash test to use replaceWithSemanticClassifications");
25772570

2571+
// const fs = require("fs");
2572+
// const testfilePath = this.originalInputFileName.slice(1);
2573+
// const testfile = fs.readFileSync(testfilePath, "utf8");
2574+
// const newfile = testfile.replace("verify.replaceWithSemanticClassifications(\"2020\")", replacement.join("\n"));
2575+
// fs.writeFileSync(testfilePath, newfile);
25782576
}
25792577

25802578

src/services/classifierVscode.ts renamed to src/services/classifier2020.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
namespace ts.classifier.vscode {
1+
/** @internal */
2+
namespace ts.classifier.modern {
23

34
/** @internal */
45
export enum TokenEncodingConsts {

src/services/services.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1809,7 +1809,7 @@ namespace ts {
18091809
return ts.getSemanticClassifications(program.getTypeChecker(), cancellationToken, getValidSourceFile(fileName), program.getClassifiableNames(), span);
18101810
}
18111811
else {
1812-
return classifier.vscode.getSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span);
1812+
return classifier.modern.getSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span);
18131813
}
18141814
}
18151815

@@ -1825,7 +1825,7 @@ namespace ts {
18251825
return ts.getEncodedSemanticClassifications(program.getTypeChecker(), cancellationToken, getValidSourceFile(fileName), program.getClassifiableNames(), span);
18261826
}
18271827
else {
1828-
return classifier.vscode.getEncodedSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span);
1828+
return classifier.modern.getEncodedSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span);
18291829
}
18301830
}
18311831

src/services/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"types.ts",
1313
"utilities.ts",
1414
"classifier.ts",
15-
"classifierVscode.ts",
15+
"classifier2020.ts",
1616
"stringCompletions.ts",
1717
"completions.ts",
1818
"documentHighlights.ts",

src/services/types.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,11 @@ namespace ts {
313313

314314
export type WithMetadata<T> = T & { metadata?: unknown; };
315315

316+
export const enum SemanticClassificationFormat {
317+
Original = "original",
318+
TwentyTwenty = "2020"
319+
}
320+
316321
//
317322
// Public services of a language service instance associated
318323
// with a language service host instance

0 commit comments

Comments
 (0)