mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
0.12.4 release: fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/136
This commit is contained in:
@@ -26,6 +26,7 @@ export enum NodeType {
|
||||
Program = 'Program',
|
||||
Property = 'Property',
|
||||
ReturnStatement = 'ReturnStatement',
|
||||
Super = 'Super',
|
||||
SwitchCase = 'SwitchCase',
|
||||
SwitchStatement = 'SwitchStatement',
|
||||
TemplateLiteral = 'TemplateLiteral',
|
||||
|
||||
+12
-3
@@ -73,6 +73,17 @@ export class DeadCodeInjectionTransformer extends AbstractNodeTransformer {
|
||||
this.transformersRunner = transformersRunner;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Node} node
|
||||
* @returns {boolean}
|
||||
*/
|
||||
private static isValidBlockStatementNode (node: ESTree.Node): boolean {
|
||||
return !NodeGuards.isBreakStatementNode(node) &&
|
||||
!NodeGuards.isContinueStatementNode(node) &&
|
||||
!NodeGuards.isAwaitExpressionNode(node) &&
|
||||
!NodeGuards.isSuperNode(node);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {IVisitor}
|
||||
*/
|
||||
@@ -173,9 +184,7 @@ export class DeadCodeInjectionTransformer extends AbstractNodeTransformer {
|
||||
*/
|
||||
if (
|
||||
nestedBlockStatementsCount > DeadCodeInjectionTransformer.maxNestedBlockStatementsCount ||
|
||||
NodeGuards.isBreakStatementNode(node) ||
|
||||
NodeGuards.isContinueStatementNode(node) ||
|
||||
NodeGuards.isAwaitExpressionNode(node)
|
||||
!DeadCodeInjectionTransformer.isValidBlockStatementNode(node)
|
||||
) {
|
||||
isValidBlockStatementNode = false;
|
||||
|
||||
|
||||
@@ -242,6 +242,14 @@ export class NodeGuards {
|
||||
return node.type === NodeType.ReturnStatement;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Node} node
|
||||
* @returns {boolean}
|
||||
*/
|
||||
public static isSuperNode (node: ESTree.Node): node is ESTree.Super {
|
||||
return node.type === NodeType.Super;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Node} node
|
||||
* @returns {boolean}
|
||||
|
||||
Reference in New Issue
Block a user