Skip to content

Commit b812367

Browse files
committed
Handle feedback from microsoft#39119
1 parent 6c49121 commit b812367

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
@@ -7744,11 +7744,6 @@ namespace ts {
77447744
newLength: number;
77457745
}
77467746

7747-
export const enum SemanticClassificationFormat {
7748-
Original = "original",
7749-
TwentyTwenty = "2020"
7750-
}
7751-
77527747
/* @internal */
77537748
export interface DiagnosticCollection {
77547749
// 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
@@ -2452,37 +2452,37 @@ namespace FourSlash {
24522452
private classificationToIdentifier(classification: number){
24532453

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

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

24762476

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

24842484
function getTokenModifierFromClassification(tsClassification: number) {
2485-
return tsClassification & ts.classifier.vscode.TokenEncodingConsts.modifierMask;
2485+
return tsClassification & ts.classifier.modern.TokenEncodingConsts.modifierMask;
24862486
}
24872487

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

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

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);
25792577
}
25802578

25812579

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
@@ -1806,7 +1806,7 @@ namespace ts {
18061806
return ts.getSemanticClassifications(program.getTypeChecker(), cancellationToken, getValidSourceFile(fileName), program.getClassifiableNames(), span);
18071807
}
18081808
else {
1809-
return classifier.vscode.getSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span);
1809+
return classifier.modern.getSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span);
18101810
}
18111811
}
18121812

@@ -1822,7 +1822,7 @@ namespace ts {
18221822
return ts.getEncodedSemanticClassifications(program.getTypeChecker(), cancellationToken, getValidSourceFile(fileName), program.getClassifiableNames(), span);
18231823
}
18241824
else {
1825-
return classifier.vscode.getEncodedSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span);
1825+
return classifier.modern.getEncodedSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span);
18261826
}
18271827
}
18281828

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
@@ -294,6 +294,11 @@ namespace ts {
294294

295295
export type WithMetadata<T> = T & { metadata?: unknown; };
296296

297+
export const enum SemanticClassificationFormat {
298+
Original = "original",
299+
TwentyTwenty = "2020"
300+
}
301+
297302
//
298303
// Public services of a language service instance associated
299304
// with a language service host instance

0 commit comments

Comments
 (0)