@@ -111,7 +111,10 @@ import {
111
111
createGetCanonicalFileName,
112
112
createGetSymbolWalker,
113
113
createModeAwareCacheKey,
114
- createPrinter,
114
+ createPrinterWithDefaults,
115
+ createPrinterWithRemoveComments,
116
+ createPrinterWithRemoveCommentsNeverAsciiEscape,
117
+ createPrinterWithRemoveCommentsOmitTrailingSemicolon,
115
118
createPropertyNameNodeForIdentifierOrLiteral,
116
119
createSymbolTable,
117
120
createTextWriter,
@@ -2173,9 +2176,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
2173
2176
[".json", ".json"],
2174
2177
];
2175
2178
2176
- const symbolToStringWorkerSourceFilePrinter = memoize(() => createPrinter({ removeComments: true, neverAsciiEscape: true }));
2177
- const symbolToStringWorkerNonSourceFilePrinter = memoize(() => createPrinter({ removeComments: true }));
2178
-
2179
2179
initializeTypeChecker();
2180
2180
2181
2181
return checker;
@@ -6127,8 +6127,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
6127
6127
const entity = builder(symbol, meaning!, enclosingDeclaration, nodeFlags)!; // TODO: GH#18217
6128
6128
// add neverAsciiEscape for GH#39027
6129
6129
const printer = enclosingDeclaration?.kind === SyntaxKind.SourceFile
6130
- ? symbolToStringWorkerSourceFilePrinter ()
6131
- : symbolToStringWorkerNonSourceFilePrinter ();
6130
+ ? createPrinterWithRemoveCommentsNeverAsciiEscape ()
6131
+ : createPrinterWithRemoveComments ();
6132
6132
const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
6133
6133
printer.writeNode(EmitHint.Unspecified, entity, /*sourceFile*/ sourceFile, writer);
6134
6134
return writer;
@@ -6147,7 +6147,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
6147
6147
sigOutput = kind === SignatureKind.Construct ? SyntaxKind.ConstructSignature : SyntaxKind.CallSignature;
6148
6148
}
6149
6149
const sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.WriteTypeParametersInQualifiedName);
6150
- const printer = createPrinter({ removeComments: true, omitTrailingSemicolon: true } );
6150
+ const printer = createPrinterWithRemoveCommentsOmitTrailingSemicolon( );
6151
6151
const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
6152
6152
printer.writeNode(EmitHint.Unspecified, sig!, /*sourceFile*/ sourceFile, getTrailingSemicolonDeferringWriter(writer)); // TODO: GH#18217
6153
6153
return writer;
@@ -6160,8 +6160,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
6160
6160
if (typeNode === undefined) return Debug.fail("should always get typenode");
6161
6161
// The unresolved type gets a synthesized comment on `any` to hint to users that it's not a plain `any`.
6162
6162
// Otherwise, we always strip comments out.
6163
- const options = { removeComments: type !== unresolvedType };
6164
- const printer = createPrinter(options);
6163
+ const printer = type !== unresolvedType ? createPrinterWithRemoveComments() : createPrinterWithDefaults();
6165
6164
const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
6166
6165
printer.writeNode(EmitHint.Unspecified, typeNode, /*sourceFile*/ sourceFile, writer);
6167
6166
const result = writer.getText();
@@ -9641,7 +9640,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
9641
9640
typePredicate.kind === TypePredicateKind.Identifier || typePredicate.kind === TypePredicateKind.AssertsIdentifier ? factory.createIdentifier(typePredicate.parameterName) : factory.createThisTypeNode(),
9642
9641
typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.WriteTypeParametersInQualifiedName)! // TODO: GH#18217
9643
9642
);
9644
- const printer = createPrinter({ removeComments: true } );
9643
+ const printer = createPrinterWithRemoveComments( );
9645
9644
const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
9646
9645
printer.writeNode(EmitHint.Unspecified, predicate, /*sourceFile*/ sourceFile, writer);
9647
9646
return writer;
0 commit comments