refactoring

This commit is contained in:
sanex3339
2016-06-17 19:51:24 +03:00
parent 251db19cd8
commit 36a825bb42
6 changed files with 21 additions and 14 deletions
@@ -45,7 +45,7 @@ export class CatchClauseObfuscator extends NodeObfuscator {
private replaceCatchClauseParamInBlockStatement (catchClauseNode: ICatchClauseNode): void {
estraverse.replace(catchClauseNode.body, {
leave: (node: INode, parentNode: INode): any => {
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.catchClauseParam);
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.catchClauseParam);
}
});
}
@@ -55,7 +55,7 @@ export class FunctionDeclarationObfuscator extends NodeObfuscator {
estraverse.replace(scopeNode, {
enter: (node: INode, parentNode: INode): any => {
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.functionName);
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.functionName);
}
});
}
+1 -1
View File
@@ -47,7 +47,7 @@ export class FunctionObfuscator extends NodeObfuscator {
private replaceFunctionParamsInBlockStatement (functionNode: IFunctionNode): void {
estraverse.replace(functionNode.body, {
leave: (node: INode, parentNode: INode): any => {
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.functionParams);
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.functionParams);
}
});
}
+9 -2
View File
@@ -56,7 +56,10 @@ export abstract class NodeObfuscator implements INodeObfuscator {
* @param namesMap
* @returns {estraverse.VisitorOption}
*/
protected replaceAndStoreIdentifiersNames (node: INode, namesMap: Map <string, string>): estraverse.VisitorOption {
protected replaceAndStoreIdentifiersNames (
node: INode,
namesMap: Map <string, string>
): estraverse.VisitorOption {
if (Nodes.isIdentifierNode(node) && !this.isReservedName(node.name)) {
namesMap.set(node.name, Utils.getRandomVariableName());
node.name = namesMap.get(node.name);
@@ -72,7 +75,11 @@ export abstract class NodeObfuscator implements INodeObfuscator {
* @param parentNode
* @param namesMap
*/
protected replaceNodeIdentifierWithNewValue (node: INode, parentNode: INode, namesMap: Map <string, string>): void {
protected replaceIdentifiersWithValuesFromNamesMap (
node: INode,
parentNode: INode,
namesMap: Map <string, string>
): void {
if (Nodes.isIdentifierNode(node) && namesMap.has(node.name)) {
const parentNodeIsPropertyNode: boolean = (
Nodes.isPropertyNode(parentNode) &&
@@ -72,7 +72,7 @@ export class VariableDeclarationObfuscator extends NodeObfuscator {
if (Utils.arrayContains(functionNodes, node.type)) {
estraverse.replace(node, {
enter: (node: INode, parentNode: INode): any => {
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.variableNames);
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.variableNames);
}
});
}
@@ -82,7 +82,7 @@ export class VariableDeclarationObfuscator extends NodeObfuscator {
}
if (isNodeAfterVariableDeclaratorFlag) {
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.variableNames);
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.variableNames);
}
}
});