mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
This commit is contained in:
@@ -49,8 +49,8 @@ export class ScopeAnalyzer implements IScopeAnalyzer {
|
||||
enter: (node: ESTree.Node): ESTree.Node => {
|
||||
if (!node.range) {
|
||||
node.range = [
|
||||
ScopeAnalyzer.emptyRangeValue,
|
||||
ScopeAnalyzer.emptyRangeValue
|
||||
node.parentNode?.range?.[0] ?? ScopeAnalyzer.emptyRangeValue,
|
||||
node.parentNode?.range?.[1] ?? ScopeAnalyzer.emptyRangeValue
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -11,6 +11,7 @@ import { NodeAppender } from '../../../node/NodeAppender';
|
||||
import { NodeFactory } from '../../../node/NodeFactory';
|
||||
import { NodeGuards } from '../../../node/NodeGuards';
|
||||
import { NodeStatementUtils } from '../../../node/NodeStatementUtils';
|
||||
import { NodeUtils } from '../../../node/NodeUtils';
|
||||
|
||||
@injectable()
|
||||
export class BasePropertiesExtractor implements IObjectExpressionExtractor {
|
||||
@@ -110,6 +111,7 @@ export class BasePropertiesExtractor implements IObjectExpressionExtractor {
|
||||
|
||||
this.filterExtractedObjectExpressionProperties(objectExpressionNode, removablePropertyIds);
|
||||
NodeAppender.insertAfter(hostNodeWithStatements, expressionStatements, hostStatement);
|
||||
NodeUtils.parentizeAst(hostNodeWithStatements);
|
||||
|
||||
return {
|
||||
nodeToReplace: objectExpressionNode,
|
||||
|
||||
@@ -89,10 +89,16 @@ export class NodeUtils {
|
||||
* @returns {T}
|
||||
*/
|
||||
public static parentizeAst <T extends ESTree.Node = ESTree.Node> (astTree: T): T {
|
||||
const parentNode: ESTree.Node | null = astTree.parentNode ?? null;
|
||||
|
||||
estraverse.replace(astTree, {
|
||||
enter: NodeUtils.parentizeNode
|
||||
});
|
||||
|
||||
if (parentNode) {
|
||||
astTree.parentNode = parentNode;
|
||||
}
|
||||
|
||||
return astTree;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user