Skip to content

Commit 587a1a4

Browse files
committed
Revert changes to track factory source in favor of #51307
1 parent 7360338 commit 587a1a4

File tree

4 files changed

+7
-23
lines changed

4 files changed

+7
-23
lines changed

src/compiler/emitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFi
854854
return;
855855
}
856856
// Transform the source files
857-
const transform = transformNodes(resolver, host, /*factoryIn*/ undefined, compilerOptions, [sourceFileOrBundle], scriptTransformers, /*allowDtsFiles*/ false);
857+
const transform = transformNodes(resolver, host, factory, compilerOptions, [sourceFileOrBundle], scriptTransformers, /*allowDtsFiles*/ false);
858858

859859
const printerOptions: PrinterOptions = {
860860
removeComments: compilerOptions.removeComments,

src/compiler/factory/nodeFactory.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -501,10 +501,10 @@ export function addNodeFactoryPatcher(fn: (factory: NodeFactory) => void) {
501501
* Creates a `NodeFactory` that can be used to create and update a syntax tree.
502502
* @param flags Flags that control factory behavior.
503503
* @param baseFactory A `BaseNodeFactory` used to create the base `Node` objects.
504-
* @param source The source of the factory, for debugging purposes. Usually a transformer function, but can be any value.
504+
*
505505
* @internal
506506
*/
507-
export function createNodeFactory(flags: NodeFactoryFlags, baseFactory: BaseNodeFactory, source?: unknown): NodeFactory {
507+
export function createNodeFactory(flags: NodeFactoryFlags, baseFactory: BaseNodeFactory): NodeFactory {
508508
const update = flags & NodeFactoryFlags.NoOriginalNode ? updateWithoutOriginal : updateWithOriginal;
509509

510510
// Lazily load the parenthesizer, node converters, and some factory methods until they are used.
@@ -530,7 +530,6 @@ export function createNodeFactory(flags: NodeFactoryFlags, baseFactory: BaseNode
530530
get converters() { return converters(); },
531531
baseFactory,
532532
flags,
533-
source,
534533
createNodeArray,
535534
createNumericLiteral,
536535
createBigIntLiteral,

src/compiler/transformer.ts

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
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";
7877
import * 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
*/

src/compiler/types.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8273,12 +8273,6 @@ export interface NodeFactory {
82738273
/** @internal */ readonly baseFactory: BaseNodeFactory;
82748274
/** @internal */ readonly flags: NodeFactoryFlags;
82758275

8276-
/**
8277-
* The source of the factory, for debugging purposes. Usually a transformer function, but can be any value.
8278-
* @internal
8279-
*/
8280-
source: unknown;
8281-
82828276
createNodeArray<T extends Node>(elements?: readonly T[], hasTrailingComma?: boolean): NodeArray<T>;
82838277

82848278
//

0 commit comments

Comments
 (0)