Browse Source

fixed runtime errors

sanex3339 8 years ago
parent
commit
2664634a4b
3 changed files with 7 additions and 28 deletions
  1. 4 12
      dist/index.js
  2. 1 14
      src/Obfuscator.ts
  3. 2 2
      src/node-obfuscators/MethodDefinitionObfuscator.ts

+ 4 - 12
dist/index.js

@@ -1454,7 +1454,6 @@ var Obfuscator = function () {
         _classCallCheck(this, Obfuscator);
 
         this.customNodes = new Map();
-        this.obfuscatorsCache = new Map();
         this.options = options;
     }
 
@@ -1515,12 +1514,7 @@ var Obfuscator = function () {
                 return;
             }
             nodeObfuscators.forEach(function (obfuscator) {
-                var cachedObfuscator = _this2.obfuscatorsCache.get(obfuscator);
-                if (!cachedObfuscator) {
-                    cachedObfuscator = new obfuscator(_this2.customNodes, _this2.options);
-                    _this2.obfuscatorsCache.set(obfuscator, cachedObfuscator);
-                }
-                cachedObfuscator.obfuscateNode(node, parentNode);
+                new obfuscator(_this2.customNodes, _this2.options).obfuscateNode(node, parentNode);
             });
         }
     }, {
@@ -3204,10 +3198,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) {
     function MethodDefinitionObfuscator() {
         _classCallCheck(this, MethodDefinitionObfuscator);
 
-        var _this = _possibleConstructorReturn(this, (MethodDefinitionObfuscator.__proto__ || Object.getPrototypeOf(MethodDefinitionObfuscator)).apply(this, arguments));
-
-        _this.ignoredNames = ['constructor'];
-        return _this;
+        return _possibleConstructorReturn(this, (MethodDefinitionObfuscator.__proto__ || Object.getPrototypeOf(MethodDefinitionObfuscator)).apply(this, arguments));
     }
 
     _createClass(MethodDefinitionObfuscator, [{
@@ -3222,7 +3213,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) {
 
             estraverse.replace(methodDefinitionNode.key, {
                 enter: function enter(node) {
-                    if (Node_1.Node.isIdentifierNode(node) && !Utils_1.Utils.arrayContains(_this2.ignoredNames, node.name) && methodDefinitionNode.computed === false) {
+                    if (Node_1.Node.isIdentifierNode(node) && !Utils_1.Utils.arrayContains(MethodDefinitionObfuscator.ignoredNames, node.name) && methodDefinitionNode.computed === false) {
                         methodDefinitionNode.computed = true;
                         node.name = new StringLiteralReplacer_1.StringLiteralReplacer(_this2.nodes, _this2.options).replace(node.name);
                         return;
@@ -3236,6 +3227,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) {
     return MethodDefinitionObfuscator;
 }(AbstractNodeObfuscator_1.AbstractNodeObfuscator);
 
+MethodDefinitionObfuscator.ignoredNames = ['constructor'];
 exports.MethodDefinitionObfuscator = MethodDefinitionObfuscator;
 
 /***/ },

+ 1 - 14
src/Obfuscator.ts

@@ -5,7 +5,6 @@ import { TNodeGroup } from './types/TNodeGroup';
 import { TNodeObfuscator } from './types/TNodeObfuscator';
 
 import { ICustomNode } from './interfaces/custom-nodes/ICustomNode';
-import { INodeObfuscator } from './interfaces/INodeObfuscator';
 import { IObfuscator } from './interfaces/IObfuscator';
 import { IOptions } from './interfaces/IOptions';
 import { IStackTraceData } from './interfaces/stack-trace-analyzer/IStackTraceData';
@@ -66,11 +65,6 @@ export class Obfuscator implements IObfuscator {
      */
     private customNodes: Map <string, ICustomNode> = new Map <string, ICustomNode> ();
 
-    /**
-     * @type {Map<TNodeObfuscator, INodeObfuscator>}
-     */
-    private obfuscatorsCache: Map <TNodeObfuscator, INodeObfuscator> = new Map <TNodeObfuscator, INodeObfuscator> ();
-
     /**
      * @type {IOptions}
      */
@@ -161,14 +155,7 @@ export class Obfuscator implements IObfuscator {
         }
 
         nodeObfuscators.forEach((obfuscator: TNodeObfuscator) => {
-            let cachedObfuscator: INodeObfuscator|undefined = this.obfuscatorsCache.get(obfuscator);
-
-            if (!cachedObfuscator) {
-                cachedObfuscator = new obfuscator(this.customNodes, this.options);
-                this.obfuscatorsCache.set(obfuscator,  cachedObfuscator);
-            }
-
-            cachedObfuscator.obfuscateNode(node, parentNode);
+            new obfuscator(this.customNodes, this.options).obfuscateNode(node, parentNode);
         });
     }
 

+ 2 - 2
src/node-obfuscators/MethodDefinitionObfuscator.ts

@@ -17,7 +17,7 @@ export class MethodDefinitionObfuscator extends AbstractNodeObfuscator {
     /**
      * @type {string[]}
      */
-    private ignoredNames: string[] = ['constructor'];
+    private static ignoredNames: string[] = ['constructor'];
 
     /**
      * @param methodDefinitionNode
@@ -35,7 +35,7 @@ export class MethodDefinitionObfuscator extends AbstractNodeObfuscator {
             enter: (node: ESTree.Node): any => {
                 if (
                     Node.isIdentifierNode(node) &&
-                    !Utils.arrayContains(this.ignoredNames, node.name) &&
+                    !Utils.arrayContains(MethodDefinitionObfuscator.ignoredNames, node.name) &&
                     methodDefinitionNode.computed === false
                 ) {
                     methodDefinitionNode.computed = true;