@@ -111,7 +111,10 @@ import {
111111 createGetCanonicalFileName,
112112 createGetSymbolWalker,
113113 createModeAwareCacheKey,
114- createPrinter,
114+ createPrinterWithDefaults,
115+ createPrinterWithRemoveComments,
116+ createPrinterWithRemoveCommentsNeverAsciiEscape,
117+ createPrinterWithRemoveCommentsOmitTrailingSemicolon,
115118 createPropertyNameNodeForIdentifierOrLiteral,
116119 createSymbolTable,
117120 createTextWriter,
@@ -2173,9 +2176,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
21732176 [".json", ".json"],
21742177 ];
21752178
2176- const symbolToStringWorkerSourceFilePrinter = memoize(() => createPrinter({ removeComments: true, neverAsciiEscape: true }));
2177- const symbolToStringWorkerNonSourceFilePrinter = memoize(() => createPrinter({ removeComments: true }));
2178-
21792179 initializeTypeChecker();
21802180
21812181 return checker;
@@ -6127,8 +6127,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
61276127 const entity = builder(symbol, meaning!, enclosingDeclaration, nodeFlags)!; // TODO: GH#18217
61286128 // add neverAsciiEscape for GH#39027
61296129 const printer = enclosingDeclaration?.kind === SyntaxKind.SourceFile
6130- ? symbolToStringWorkerSourceFilePrinter ()
6131- : symbolToStringWorkerNonSourceFilePrinter ();
6130+ ? createPrinterWithRemoveCommentsNeverAsciiEscape ()
6131+ : createPrinterWithRemoveComments ();
61326132 const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
61336133 printer.writeNode(EmitHint.Unspecified, entity, /*sourceFile*/ sourceFile, writer);
61346134 return writer;
@@ -6147,7 +6147,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
61476147 sigOutput = kind === SignatureKind.Construct ? SyntaxKind.ConstructSignature : SyntaxKind.CallSignature;
61486148 }
61496149 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( );
61516151 const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
61526152 printer.writeNode(EmitHint.Unspecified, sig!, /*sourceFile*/ sourceFile, getTrailingSemicolonDeferringWriter(writer)); // TODO: GH#18217
61536153 return writer;
@@ -6160,8 +6160,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
61606160 if (typeNode === undefined) return Debug.fail("should always get typenode");
61616161 // The unresolved type gets a synthesized comment on `any` to hint to users that it's not a plain `any`.
61626162 // Otherwise, we always strip comments out.
6163- const options = { removeComments: type !== unresolvedType };
6164- const printer = createPrinter(options);
6163+ const printer = type !== unresolvedType ? createPrinterWithRemoveComments() : createPrinterWithDefaults();
61656164 const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
61666165 printer.writeNode(EmitHint.Unspecified, typeNode, /*sourceFile*/ sourceFile, writer);
61676166 const result = writer.getText();
@@ -9641,7 +9640,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
96419640 typePredicate.kind === TypePredicateKind.Identifier || typePredicate.kind === TypePredicateKind.AssertsIdentifier ? factory.createIdentifier(typePredicate.parameterName) : factory.createThisTypeNode(),
96429641 typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.WriteTypeParametersInQualifiedName)! // TODO: GH#18217
96439642 );
9644- const printer = createPrinter({ removeComments: true } );
9643+ const printer = createPrinterWithRemoveComments( );
96459644 const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
96469645 printer.writeNode(EmitHint.Unspecified, predicate, /*sourceFile*/ sourceFile, writer);
96479646 return writer;
0 commit comments