From 17e04f9059268eb335921d3197dbd68e65d7f751 Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Thu, 30 Jun 2022 18:08:31 +0800 Subject: [PATCH] fix --- packages/babel-generator/src/node/index.ts | 26 +++++++++++-------- .../babel-generator/src/node/whitespace.ts | 11 -------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/packages/babel-generator/src/node/index.ts b/packages/babel-generator/src/node/index.ts index 28cc566e1500..f53195de2a31 100644 --- a/packages/babel-generator/src/node/index.ts +++ b/packages/babel-generator/src/node/index.ts @@ -56,7 +56,7 @@ function expandAliases(obj: NodeHandlers) { // into concrete types so that the 'find' call below can be as fast as possible. const expandedParens = expandAliases(parens); const expandedWhitespaceNodes = expandAliases(whitespace.nodes); -const expandedWhitespaceList = expandAliases(whitespace.list); +//const expandedWhitespaceList = expandAliases(whitespace.list); function find( obj: NodeHandlers, @@ -87,19 +87,23 @@ export function needsWhitespace( node = node.expression; } - if ((find(expandedWhitespaceNodes, node, parent) & type) !== 0) { - return true; - } + const flag = find(expandedWhitespaceNodes, node, parent); - const items = find(expandedWhitespaceList, node, parent); - if (items) { - for (let i = 0; i < items.length; i++) { - if (needsWhitespace(items[i], node, type)) { - return true; - } - } + if (typeof flag === "number") { + return (flag & type) !== 0; } + // A bug that existed before, commenting out it will cause the test to fail. + + // const items = find(expandedWhitespaceList, node, parent); + // if (items) { + // for (let i = 0; i < items.length; i++) { + // if (needsWhitespace(items[i], node, type)) { + // return true; + // } + // } + // } + return false; } diff --git a/packages/babel-generator/src/node/whitespace.ts b/packages/babel-generator/src/node/whitespace.ts index ef45da9905fc..d47d94917ff0 100644 --- a/packages/babel-generator/src/node/whitespace.ts +++ b/packages/babel-generator/src/node/whitespace.ts @@ -118,7 +118,6 @@ export const nodes: NodeHandlers = { ? WhitespaceFlag.before | WhitespaceFlag.after : WhitespaceFlag.after; } - return 0; }, /** @@ -144,7 +143,6 @@ export const nodes: NodeHandlers = { if (isFunction(node.left) || isFunction(node.right)) { return WhitespaceFlag.after; } - return 0; }, /** @@ -155,7 +153,6 @@ export const nodes: NodeHandlers = { if (isStringLiteral(node) && node.value === "use strict") { return WhitespaceFlag.after; } - return 0; }, /** @@ -166,14 +163,12 @@ export const nodes: NodeHandlers = { if (isFunction(node.callee) || isHelper(node)) { return WhitespaceFlag.before | WhitespaceFlag.after; } - return 0; }, OptionalCallExpression(node: t.OptionalCallExpression): WhitespaceFlag { if (isFunction(node.callee)) { return WhitespaceFlag.before | WhitespaceFlag.after; } - return 0; }, /** @@ -194,7 +189,6 @@ export const nodes: NodeHandlers = { return WhitespaceFlag.before | WhitespaceFlag.after; } } - return 0; }, /** @@ -205,7 +199,6 @@ export const nodes: NodeHandlers = { if (isBlockStatement(node.consequent)) { return WhitespaceFlag.before | WhitespaceFlag.after; } - return 0; }, }; @@ -223,7 +216,6 @@ nodes.ObjectProperty = if (parent.properties[0] === node) { return WhitespaceFlag.before; } - return 0; }; nodes.ObjectTypeCallProperty = function ( @@ -233,7 +225,6 @@ nodes.ObjectTypeCallProperty = function ( if (parent.callProperties[0] === node && !parent.properties?.length) { return WhitespaceFlag.before; } - return 0; }; nodes.ObjectTypeIndexer = function ( @@ -247,7 +238,6 @@ nodes.ObjectTypeIndexer = function ( ) { return WhitespaceFlag.before; } - return 0; }; nodes.ObjectTypeInternalSlot = function ( @@ -262,7 +252,6 @@ nodes.ObjectTypeInternalSlot = function ( ) { return WhitespaceFlag.before; } - return 0; }; /**