From 4edebbcfb128e49d51e9d4cd4cfdf4235a8bfa5e Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 15 May 2025 15:57:30 -0400 Subject: [PATCH] wildly confusing to have so many things called 'class analysis' - rename the transform-phrase ones to transformers --- .../src/compiler/phases/3-transform/client/types.d.ts | 4 ++-- .../phases/3-transform/client/visitors/ClassBody.js | 6 +++--- ...t-class-analysis.js => client-class-transformer.js} | 10 +++++----- .../src/compiler/phases/3-transform/server/types.d.ts | 4 ++-- .../phases/3-transform/server/visitors/ClassBody.js | 6 +++--- ...r-class-analysis.js => server-class-transformer.js} | 10 +++++----- .../shared/{class_analysis.js => class_transformer.js} | 6 +++--- .../src/compiler/phases/3-transform/shared/types.d.ts | 2 +- 8 files changed, 24 insertions(+), 24 deletions(-) rename packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/{client-class-analysis.js => client-class-transformer.js} (88%) rename packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/{server-class-analysis.js => server-class-transformer.js} (90%) rename packages/svelte/src/compiler/phases/3-transform/shared/{class_analysis.js => class_transformer.js} (97%) diff --git a/packages/svelte/src/compiler/phases/3-transform/client/types.d.ts b/packages/svelte/src/compiler/phases/3-transform/client/types.d.ts index 3e7ef24aee..ce201958da 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/types.d.ts +++ b/packages/svelte/src/compiler/phases/3-transform/client/types.d.ts @@ -12,10 +12,10 @@ import type { AST, Namespace, ValidatedCompileOptions } from '#compiler'; import type { TransformState } from '../types.js'; import type { ComponentAnalysis } from '../../types.js'; import type { SourceLocation } from '#shared'; -import type { ClassAnalysis } from '../shared/types.js'; +import type { ClassTransformer } from '../shared/types.js'; export interface ClientTransformState extends TransformState { - readonly class_analysis: ClassAnalysis | null; + readonly class_analysis: ClassTransformer | null; /** * `true` if the current lexical scope belongs to a class constructor. this allows diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/ClassBody.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/ClassBody.js index a9ccad0377..75f2b35cca 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/ClassBody.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/ClassBody.js @@ -1,6 +1,6 @@ /** @import { ClassBody } from 'estree' */ /** @import { Context } from '../types' */ -import { create_client_class_analysis } from './shared/client-class-analysis.js'; +import { create_client_class_transformer } from './shared/client-class-transformer.js'; /** * @param {ClassBody} node @@ -12,8 +12,8 @@ export function ClassBody(node, context) { return; } - const class_analysis = create_client_class_analysis(node.body); - const body = class_analysis.generate_body(context); + const class_transformer = create_client_class_transformer(node.body); + const body = class_transformer.generate_body(context); return { ...node, body }; } diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/client-class-analysis.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/client-class-transformer.js similarity index 88% rename from packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/client-class-analysis.js rename to packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/client-class-transformer.js index 778fea32e5..767a99ea69 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/client-class-analysis.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/client-class-transformer.js @@ -1,16 +1,16 @@ /** @import { Context } from '../../types.js' */ /** @import { MethodDefinition, PropertyDefinition, Expression, StaticBlock, SpreadElement } from 'estree' */ /** @import { StateCreationRuneName } from '../../../../../../utils.js' */ -/** @import { AssignmentBuilder, ClassAnalysis, StateFieldBuilder } from '../../../shared/types.js' */ +/** @import { AssignmentBuilder, ClassTransformer, StateFieldBuilder } from '../../../shared/types.js' */ import * as b from '#compiler/builders'; -import { create_class_analysis } from '../../../shared/class_analysis.js'; +import { create_class_transformer } from '../../../shared/class_transformer.js'; import { should_proxy } from '../../utils.js'; /** * @param {Array} body - * @returns {ClassAnalysis} + * @returns {ClassTransformer} */ -export function create_client_class_analysis(body) { +export function create_client_class_transformer(body) { /** @type {StateFieldBuilder} */ function build_state_field({ is_private, field, node, context }) { let original_id = node.type === 'AssignmentExpression' ? node.left.property : node.key; @@ -66,7 +66,7 @@ export function create_client_class_analysis(body) { }; } - return create_class_analysis(body, build_state_field, build_assignment); + return create_class_transformer(body, build_state_field, build_assignment); } /** diff --git a/packages/svelte/src/compiler/phases/3-transform/server/types.d.ts b/packages/svelte/src/compiler/phases/3-transform/server/types.d.ts index 0f1b2647a2..9d2d3164a9 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/types.d.ts +++ b/packages/svelte/src/compiler/phases/3-transform/server/types.d.ts @@ -2,12 +2,12 @@ import type { Expression, Statement, ModuleDeclaration, LabeledStatement } from import type { AST, Namespace, ValidatedCompileOptions } from '#compiler'; import type { TransformState } from '../types.js'; import type { ComponentAnalysis } from '../../types.js'; -import type { ClassAnalysis } from '../shared/types.js'; +import type { ClassTransformer } from '../shared/types.js'; export interface ServerTransformState extends TransformState { /** The $: calls, which will be ordered in the end */ readonly legacy_reactive_statements: Map; - readonly class_analysis: ClassAnalysis | null; + readonly class_analysis: ClassTransformer | null; } export interface ComponentServerTransformState extends ServerTransformState { diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/ClassBody.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/ClassBody.js index 8d67b38361..3bab89cf9b 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/ClassBody.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/ClassBody.js @@ -1,6 +1,6 @@ /** @import { ClassBody } from 'estree' */ /** @import { Context } from '../types.js' */ -import { create_server_class_analysis } from './shared/server-class-analysis.js'; +import { create_server_class_transformer } from './shared/server-class-transformer.js'; /** * @param {ClassBody} node @@ -12,8 +12,8 @@ export function ClassBody(node, context) { return; } - const class_analysis = create_server_class_analysis(node.body); - const body = class_analysis.generate_body(context); + const class_transformer = create_server_class_transformer(node.body); + const body = class_transformer.generate_body(context); return { ...node, body }; } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/server-class-analysis.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/server-class-transformer.js similarity index 90% rename from packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/server-class-analysis.js rename to packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/server-class-transformer.js index 73390d0e38..7a52f14731 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/server-class-analysis.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/server-class-transformer.js @@ -1,18 +1,18 @@ /** @import { Expression, MethodDefinition, StaticBlock, PropertyDefinition, SpreadElement } from 'estree' */ /** @import { Context } from '../../types.js' */ /** @import { AssignmentBuilder, StateFieldBuilder } from '../../../shared/types.js' */ -/** @import { ClassAnalysis } from '../../../shared/types.js' */ +/** @import { ClassTransformer } from '../../../shared/types.js' */ /** @import { StateCreationRuneName } from '../../../../../../utils.js' */ import * as b from '#compiler/builders'; import { dev } from '../../../../../state.js'; -import { create_class_analysis } from '../../../shared/class_analysis.js'; +import { create_class_transformer } from '../../../shared/class_transformer.js'; /** * @param {Array} body - * @returns {ClassAnalysis} + * @returns {ClassTransformer} */ -export function create_server_class_analysis(body) { +export function create_server_class_transformer(body) { /** @type {StateFieldBuilder} */ function build_state_field({ is_private, field, node, context }) { let original_id = node.type === 'AssignmentExpression' ? node.left.property : node.key; @@ -79,7 +79,7 @@ export function create_server_class_analysis(body) { }; } - return create_class_analysis(body, build_state_field, build_assignment); + return create_class_transformer(body, build_state_field, build_assignment); } /** diff --git a/packages/svelte/src/compiler/phases/3-transform/shared/class_analysis.js b/packages/svelte/src/compiler/phases/3-transform/shared/class_transformer.js similarity index 97% rename from packages/svelte/src/compiler/phases/3-transform/shared/class_analysis.js rename to packages/svelte/src/compiler/phases/3-transform/shared/class_transformer.js index 20d9e75eca..5abd98c207 100644 --- a/packages/svelte/src/compiler/phases/3-transform/shared/class_analysis.js +++ b/packages/svelte/src/compiler/phases/3-transform/shared/class_transformer.js @@ -3,7 +3,7 @@ /** @import { Context as ClientContext } from '../client/types.js' */ /** @import { Context as ServerContext } from '../server/types.js' */ /** @import { StateCreationRuneName } from '../../../../utils.js' */ -/** @import { AssignmentBuilder, ClassAnalysis, StateFieldBuilder, StatefulAssignment, StatefulPropertyDefinition } from './types.js' */ +/** @import { AssignmentBuilder, ClassTransformer, StateFieldBuilder, StatefulAssignment, StatefulPropertyDefinition } from './types.js' */ /** @import { Scope } from '../../scope.js' */ import * as b from '#compiler/builders'; import { once } from '../../../../internal/server/index.js'; @@ -16,9 +16,9 @@ import { get_rune } from '../../scope.js'; * @param {Array} body * @param {StateFieldBuilder} build_state_field * @param {AssignmentBuilder} build_assignment - * @returns {ClassAnalysis} + * @returns {ClassTransformer} */ -export function create_class_analysis(body, build_state_field, build_assignment) { +export function create_class_transformer(body, build_state_field, build_assignment) { /** * Public, stateful fields. * @type {Map} diff --git a/packages/svelte/src/compiler/phases/3-transform/shared/types.d.ts b/packages/svelte/src/compiler/phases/3-transform/shared/types.d.ts index 2d02e705c3..7c03be2235 100644 --- a/packages/svelte/src/compiler/phases/3-transform/shared/types.d.ts +++ b/packages/svelte/src/compiler/phases/3-transform/shared/types.d.ts @@ -48,7 +48,7 @@ export type AssignmentBuilder = params: AssignmentBuilderParams ) => AssignmentExpression; -export type ClassAnalysis = { +export type ClassTransformer = { /** * @param name - The name of the field. * @param is_private - Whether the field is private (whether its name starts with '#').