55 chainBundle ,
66 CompilerOptions ,
77 createEmitHelperFactory ,
8- createNodeFactory ,
98 CustomTransformer ,
109 CustomTransformerFactory ,
1110 CustomTransformers ,
@@ -73,7 +72,7 @@ import {
7372 transformNodeModule ,
7473 transformSystemModule ,
7574 transformTypeScript ,
76- VariableDeclaration ,
75+ VariableDeclaration
7776} from "./_namespaces/ts" ;
7877import * as performance from "./_namespaces/ts.performance" ;
7978
@@ -244,7 +243,7 @@ export function noEmitNotification(hint: EmitHint, node: Node, callback: (hint:
244243 *
245244 * @internal
246245 */
247- export function transformNodes < T extends Node > ( resolver : EmitResolver | undefined , host : EmitHost | undefined , factoryIn : NodeFactory | undefined , options : CompilerOptions , nodes : readonly T [ ] , transformers : readonly TransformerFactory < T > [ ] , allowDtsFiles : boolean ) : TransformationResult < T > {
246+ export function transformNodes < T extends Node > ( resolver : EmitResolver | undefined , host : EmitHost | undefined , factory : NodeFactory , options : CompilerOptions , nodes : readonly T [ ] , transformers : readonly TransformerFactory < T > [ ] , allowDtsFiles : boolean ) : TransformationResult < T > {
248247 const enabledSyntaxKindFeatures = new Array < SyntaxKindFeatureFlags > ( SyntaxKind . Count ) ;
249248 let lexicalEnvironmentVariableDeclarations : VariableDeclaration [ ] ;
250249 let lexicalEnvironmentFunctionDeclarations : FunctionDeclaration [ ] ;
@@ -268,7 +267,7 @@ export function transformNodes<T extends Node>(resolver: EmitResolver | undefine
268267 // The transformation context is provided to each transformer as part of transformer
269268 // initialization.
270269 const context : TransformationContext = {
271- factory : factoryIn ?? factory ,
270+ factory,
272271 getCompilerOptions : ( ) => options ,
273272 getEmitResolver : ( ) => resolver ! , // TODO: GH#18217
274273 getEmitHost : ( ) => host ! , // TODO: GH#18217
@@ -316,7 +315,7 @@ export function transformNodes<T extends Node>(resolver: EmitResolver | undefine
316315 performance . mark ( "beforeTransform" ) ;
317316
318317 // Chain together and initialize each transformer.
319- const transformersWithContext = transformers . map ( t => t ( factoryIn ? context : createPerTransformerContext ( t ) ) ) ;
318+ const transformersWithContext = transformers . map ( t => t ( context ) ) ;
320319 const transformation = ( node : T ) : T => {
321320 for ( const transform of transformersWithContext ) {
322321 node = transform ( node ) ;
@@ -354,14 +353,6 @@ export function transformNodes<T extends Node>(resolver: EmitResolver | undefine
354353 return node && ( ! isSourceFile ( node ) || ! node . isDeclarationFile ) ? transformation ( node ) : node ;
355354 }
356355
357- function createPerTransformerContext ( t : TransformerFactory < T > ) {
358- const perTransformerContext : TransformationContext = Object . create ( context , {
359- factory : { value : createNodeFactory ( context . factory . flags , context . factory . baseFactory , /*source*/ t ) } ,
360- getEmitHelperFactory : { value : memoize ( ( ) => createEmitHelperFactory ( perTransformerContext ) ) } ,
361- } ) ;
362- return perTransformerContext ;
363- }
364-
365356 /**
366357 * Enables expression substitutions in the pretty printer for the provided SyntaxKind.
367358 */
0 commit comments