remove dependencyCount

This commit is contained in:
Jonathan Rainville 2018-08-09 13:44:13 -04:00 committed by Iuri Matias
parent 324e09eb35
commit d88d172c76
1 changed files with 0 additions and 40 deletions

View File

@ -41,9 +41,6 @@ class ContractsManager {
});
self.events.setCommandHandler("contracts:reset:dependencies", (cb) => {
for (let className in self.contracts) {
self.contracts[className].dependencyCount = null;
}
self.contractDependencies = {};
cb();
});
@ -286,43 +283,6 @@ class ContractsManager {
}
}
callback();
},
function setDependencyCount(callback) {
let className;
function getDependencyCount(contractName, cycleDetector) {
if (!self.contracts[contractName]) {
return 0;
}
if (self.contracts[contractName].dependencyCount || self.contracts[contractName].dependencyCount === 0) {
// Already have that count
return self.contracts[contractName].dependencyCount;
}
if (!self.contractDependencies[contractName] || !self.contractDependencies[contractName].length) {
self.contracts[contractName].dependencyCount = 0;
return 0;
}
let total = self.contractDependencies[contractName].length;
self.contractDependencies[contractName].some(dependencyName => {
if (cycleDetector.indexOf(dependencyName) > -1) {
// We are in a cycle because of the dependency, set both to Infinity
self.contracts[dependencyName].dependencyCount = Infinity;
total = Infinity;
return true;
}
cycleDetector.push(dependencyName);
total += getDependencyCount(dependencyName, cycleDetector);
});
self.contracts[contractName].dependencyCount = total;
return total;
}
let cycleDetector;
for (className in self.contracts) {
cycleDetector = [];
getDependencyCount(className, cycleDetector);
}
callback();
}
], function (err) {
if (err) {