fixed runtime errors

This commit is contained in:
sanex3339
2016-11-09 01:09:09 +03:00
parent ac9c10a69a
commit 2664634a4b
3 changed files with 7 additions and 28 deletions
+4 -12
View File
@@ -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
View File
@@ -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);
});
}
@@ -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;