From: 三咲智子 Kevin Deng Date: Wed, 31 Jan 2024 09:37:54 +0000 (+0800) Subject: refactor(compiler-vapor): remove loc in IR X-Git-Tag: v3.6.0-alpha.1~16^2~618 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4062c6805a0dbdb585bdc4ea0cc05e92b6c92e85;p=thirdparty%2Fvuejs%2Fcore.git refactor(compiler-vapor): remove loc in IR --- diff --git a/packages/compiler-vapor/src/ir.ts b/packages/compiler-vapor/src/ir.ts index 6962a1fff9..a2f2f2f7c2 100644 --- a/packages/compiler-vapor/src/ir.ts +++ b/packages/compiler-vapor/src/ir.ts @@ -4,7 +4,6 @@ import type { DirectiveNode, RootNode, SimpleExpressionNode, - SourceLocation, TemplateChildNode, } from '@vue/compiler-dom' import type { Prettify } from '@vue/shared' @@ -37,7 +36,6 @@ export enum IRNodeTypes { export interface BaseIRNode { type: IRNodeTypes - loc: SourceLocation } export type VaporHelper = keyof typeof import('@vue/runtime-vapor') diff --git a/packages/compiler-vapor/src/transform.ts b/packages/compiler-vapor/src/transform.ts index 00078f57ce..3bd7ada2be 100644 --- a/packages/compiler-vapor/src/transform.ts +++ b/packages/compiler-vapor/src/transform.ts @@ -197,12 +197,10 @@ function createRootContext( templateNode = { type: IRNodeTypes.TEMPLATE_FACTORY, template: this.template, - loc: node.loc, } } else { templateNode = { type: IRNodeTypes.FRAGMENT_FACTORY, - loc: node.loc, } } root.template.push(templateNode) @@ -243,7 +241,6 @@ export function transform( type: IRNodeTypes.ROOT, node: root, source: root.source, - loc: root.loc, template: [], templateIndex: -1, dynamic: extend(genDefaultDynamic(), { @@ -327,34 +324,32 @@ function transformChildren(ctx: TransformContext) { processDynamicChildren(ctx) } -function processDynamicChildren(ctx: TransformContext) { - const { node } = ctx - +function processDynamicChildren( + context: TransformContext, +) { let prevChildren: IRDynamicInfo[] = [] let hasStatic = false - for (const [index, child] of ctx.dynamic.children.entries()) { + for (const [index, child] of context.dynamic.children.entries()) { if (!child || !(child.flags & DynamicFlag.INSERT)) { if (prevChildren.length) { if (hasStatic) { - ctx.childrenTemplate[index - prevChildren.length] = `` + context.childrenTemplate[index - prevChildren.length] = `` prevChildren[0].flags -= DynamicFlag.NON_TEMPLATE - const anchor = (prevChildren[0].anchor = ctx.increaseId()) + const anchor = (prevChildren[0].anchor = context.increaseId()) - ctx.registerOperation({ + context.registerOperation({ type: IRNodeTypes.INSERT_NODE, - loc: node.loc, element: prevChildren.map(child => child.id!), - parent: ctx.reference(), + parent: context.reference(), anchor, }) } else { - ctx.registerOperation({ + context.registerOperation({ type: IRNodeTypes.PREPEND_NODE, - loc: node.loc, elements: prevChildren.map(child => child.id!), - parent: ctx.reference(), + parent: context.reference(), }) } } @@ -365,12 +360,11 @@ function processDynamicChildren(ctx: TransformContext) { prevChildren.push(child) - if (index === ctx.dynamic.children.length - 1) { - ctx.registerOperation({ + if (index === context.dynamic.children.length - 1) { + context.registerOperation({ type: IRNodeTypes.APPEND_NODE, - loc: node.loc, elements: prevChildren.map(child => child.id!), - parent: ctx.reference(), + parent: context.reference(), }) } } diff --git a/packages/compiler-vapor/src/transforms/transformElement.ts b/packages/compiler-vapor/src/transforms/transformElement.ts index 1e519935c9..aafda37358 100644 --- a/packages/compiler-vapor/src/transforms/transformElement.ts +++ b/packages/compiler-vapor/src/transforms/transformElement.ts @@ -59,7 +59,7 @@ function transformProp( node: ElementNode, context: TransformContext, ): void { - const { name, loc } = prop + const { name } = prop if (isReservedProp(name)) return if (prop.type === NodeTypes.ATTRIBUTE) { @@ -76,7 +76,6 @@ function transformProp( type: IRNodeTypes.WITH_DIRECTIVE, element: context.reference(), dir: prop, - loc, }) } } diff --git a/packages/compiler-vapor/src/transforms/transformInterpolation.ts b/packages/compiler-vapor/src/transforms/transformInterpolation.ts index 56a870ac1f..255ff6763a 100644 --- a/packages/compiler-vapor/src/transforms/transformInterpolation.ts +++ b/packages/compiler-vapor/src/transforms/transformInterpolation.ts @@ -19,7 +19,6 @@ export const transformInterpolation: NodeTransform = (node, ctx) => { [ { type: IRNodeTypes.SET_TEXT, - loc: node.loc, element: parentId, value: expr, }, @@ -30,7 +29,6 @@ export const transformInterpolation: NodeTransform = (node, ctx) => { ctx.dynamic.flags |= DynamicFlag.INSERT | DynamicFlag.NON_TEMPLATE ctx.registerOperation({ type: IRNodeTypes.CREATE_TEXT_NODE, - loc: node.loc, id, }) ctx.registerEffect( @@ -38,7 +36,6 @@ export const transformInterpolation: NodeTransform = (node, ctx) => { [ { type: IRNodeTypes.SET_TEXT, - loc: node.loc, element: id, value: expr, }, diff --git a/packages/compiler-vapor/src/transforms/transformRef.ts b/packages/compiler-vapor/src/transforms/transformRef.ts index 141b01fbb1..d3e1976af6 100644 --- a/packages/compiler-vapor/src/transforms/transformRef.ts +++ b/packages/compiler-vapor/src/transforms/transformRef.ts @@ -26,6 +26,5 @@ export const transformRef: NodeTransform = (node, context) => { type: IRNodeTypes.SET_REF, element: context.reference(), value, - loc: dir.loc, }) } diff --git a/packages/compiler-vapor/src/transforms/vBind.ts b/packages/compiler-vapor/src/transforms/vBind.ts index 3443247219..128a67d807 100644 --- a/packages/compiler-vapor/src/transforms/vBind.ts +++ b/packages/compiler-vapor/src/transforms/vBind.ts @@ -51,7 +51,6 @@ export const transformVBind: DirectiveTransform = (dir, node, context) => { [ { type: IRNodeTypes.SET_PROP, - loc: dir.loc, element: context.reference(), key: arg, value: exp, diff --git a/packages/compiler-vapor/src/transforms/vFor.ts b/packages/compiler-vapor/src/transforms/vFor.ts index dd61405e3d..a70f1ec819 100644 --- a/packages/compiler-vapor/src/transforms/vFor.ts +++ b/packages/compiler-vapor/src/transforms/vFor.ts @@ -50,7 +50,6 @@ export function processFor( const id = context.reference() const render: BlockFunctionIRNode = { type: IRNodeTypes.BLOCK_FUNCTION, - loc: node.loc, node, templateIndex: -1, dynamic: extend(genDefaultDynamic(), { @@ -69,7 +68,6 @@ export function processFor( context.registerOperation({ type: IRNodeTypes.FOR, id, - loc: dir.loc, source: source as SimpleExpressionNode, value: value as SimpleExpressionNode | undefined, key: key as SimpleExpressionNode | undefined, diff --git a/packages/compiler-vapor/src/transforms/vHtml.ts b/packages/compiler-vapor/src/transforms/vHtml.ts index f509c71967..8b851b4985 100644 --- a/packages/compiler-vapor/src/transforms/vHtml.ts +++ b/packages/compiler-vapor/src/transforms/vHtml.ts @@ -21,7 +21,6 @@ export const transformVHtml: DirectiveTransform = (dir, node, context) => { [ { type: IRNodeTypes.SET_HTML, - loc: dir.loc, element: context.reference(), value: exp || '""', }, diff --git a/packages/compiler-vapor/src/transforms/vIf.ts b/packages/compiler-vapor/src/transforms/vIf.ts index 9c9731a81e..ed70d8b7d2 100644 --- a/packages/compiler-vapor/src/transforms/vIf.ts +++ b/packages/compiler-vapor/src/transforms/vIf.ts @@ -51,7 +51,6 @@ export function processIf( context.registerOperation({ type: IRNodeTypes.IF, id, - loc: dir.loc, condition: dir.exp!, positive: branch, }) @@ -130,7 +129,6 @@ export function processIf( lastIfNode.negative = { type: IRNodeTypes.IF, id: -1, - loc: dir.loc, condition: dir.exp!, positive: branch, } @@ -148,7 +146,6 @@ export function createIfBranch( const branch: BlockFunctionIRNode = { type: IRNodeTypes.BLOCK_FUNCTION, - loc: node.loc, node, templateIndex: -1, dynamic: extend(genDefaultDynamic(), { diff --git a/packages/compiler-vapor/src/transforms/vModel.ts b/packages/compiler-vapor/src/transforms/vModel.ts index a4fe26f9a9..29bccaa32d 100644 --- a/packages/compiler-vapor/src/transforms/vModel.ts +++ b/packages/compiler-vapor/src/transforms/vModel.ts @@ -16,7 +16,7 @@ import type { DirectiveTransform } from '../transform' import { IRNodeTypes, type VaporHelper } from '../ir' export const transformVModel: DirectiveTransform = (dir, node, context) => { - const { exp, arg, loc } = dir + const { exp, arg } = dir if (!exp) { context.options.onError( createCompilerError(ErrorCodes.X_V_MODEL_NO_EXPRESSION, dir.loc), @@ -140,7 +140,6 @@ export const transformVModel: DirectiveTransform = (dir, node, context) => { key: (arg && arg.isStatic ? arg.content : arg) || 'modelValue', value: exp, isComponent, - loc: loc, }) if (runtimeDirective) @@ -148,7 +147,6 @@ export const transformVModel: DirectiveTransform = (dir, node, context) => { type: IRNodeTypes.WITH_DIRECTIVE, element: context.reference(), dir, - loc, builtin: runtimeDirective, }) diff --git a/packages/compiler-vapor/src/transforms/vOn.ts b/packages/compiler-vapor/src/transforms/vOn.ts index f2545c602d..c4017e27ce 100644 --- a/packages/compiler-vapor/src/transforms/vOn.ts +++ b/packages/compiler-vapor/src/transforms/vOn.ts @@ -72,7 +72,6 @@ export const transformVOn: DirectiveTransform = (dir, node, context) => { const operation: SetEventIRNode = { type: IRNodeTypes.SET_EVENT, - loc, element: context.reference(), key: arg, value: exp, diff --git a/packages/compiler-vapor/src/transforms/vShow.ts b/packages/compiler-vapor/src/transforms/vShow.ts index 1604b27e7d..7be355396e 100644 --- a/packages/compiler-vapor/src/transforms/vShow.ts +++ b/packages/compiler-vapor/src/transforms/vShow.ts @@ -14,6 +14,5 @@ export const transformVShow: DirectiveTransform = (dir, node, context) => { type: IRNodeTypes.WITH_DIRECTIVE, element: context.reference(), dir, - loc, }) } diff --git a/packages/compiler-vapor/src/transforms/vText.ts b/packages/compiler-vapor/src/transforms/vText.ts index fbeb5cd5df..dfd2af392f 100644 --- a/packages/compiler-vapor/src/transforms/vText.ts +++ b/packages/compiler-vapor/src/transforms/vText.ts @@ -21,7 +21,6 @@ export const transformVText: DirectiveTransform = (dir, node, context) => { [ { type: IRNodeTypes.SET_TEXT, - loc: dir.loc, element: context.reference(), value: exp || '""', },