Dead code injection transformer ignores PrivateIdentifier nodes (#1057)

This commit is contained in:
Timofey Kachalov
2022-02-09 22:44:16 +03:00
committed by GitHub
parent edc2a22905
commit 2095d47058
7 changed files with 96 additions and 2 deletions
+1
View File
@@ -40,6 +40,7 @@ export enum NodeType {
NewExpression = 'NewExpression',
ObjectExpression = 'ObjectExpression',
ObjectPattern = 'ObjectPattern',
PrivateIdentifier = 'PrivateIdentifier',
Program = 'Program',
Property = 'Property',
PropertyDefinition = 'PropertyDefinition',
@@ -107,7 +107,8 @@ export class DeadCodeInjectionTransformer extends AbstractNodeTransformer {
|| NodeGuards.isAwaitExpressionNode(targetNode)
|| NodeGuards.isYieldExpressionNode(targetNode)
|| NodeGuards.isSuperNode(targetNode)
|| (NodeGuards.isForOfStatementNode(targetNode) && targetNode.await);
|| (NodeGuards.isForOfStatementNode(targetNode) && targetNode.await)
|| NodeGuards.isPrivateIdentifierNode(targetNode);
}
/**
+8
View File
@@ -447,6 +447,14 @@ export class NodeGuards {
return node.type === NodeType.ObjectExpression;
}
/**
* @param {Node} node
* @returns {boolean}
*/
public static isPrivateIdentifierNode (node: ESTree.Node): node is ESTree.PrivateIdentifier {
return node.type === NodeType.PrivateIdentifier;
}
/**
* @param {Node} node
* @returns {boolean}