extract map copying logic to a separate function

This commit is contained in:
Vladimir Matveev 2015-01-02 12:14:02 -08:00
parent 4e5a3ae695
commit 363587163b
2 changed files with 7 additions and 3 deletions

View file

@ -3651,9 +3651,7 @@ module ts {
var maybeCache = maybeStack[depth];
// If result is definitely true, copy assumptions to global cache, else copy to next level up
var destinationCache = result === Ternary.True || depth === 0 ? relation : maybeStack[depth - 1];
for (var p in maybeCache) {
destinationCache[p] = maybeCache[p];
}
copyMap(maybeCache, destinationCache);
}
else {
// A false result goes straight into global cache (when something is false under assumptions it

View file

@ -208,6 +208,12 @@ module ts {
return result;
}
export function copyMap<T>(source: Map<T>, target: Map<T>): void {
for (var p in source) {
target[p] = source[p];
}
}
/**
* Creates a map from the elements of an array.
*