Remove Error enum fixes/code from builds that don't need them.

Former-commit-id: db060ff3571ef656709447970b62f4af753ea0cb
This commit is contained in:
John-David Dalton
2013-05-19 10:52:56 -07:00
parent 8da0141cac
commit 90cca8a3eb
2 changed files with 22 additions and 15 deletions

View File

@@ -1300,9 +1300,7 @@
// remove `support.nonEnumShadows` from `iteratorTemplate`
source = source.replace(getIteratorTemplate(source), function(match) {
return match
.replace(/\s*\|\|\s*support\.nonEnumShadows/, '')
.replace(/(?: *\/\/.*\n)* *["']( *)<% *if *\(support\.nonEnumShadows[\s\S]+?["']\1<% *} *%>.+/, '');
return match.replace(/(?: *\/\/.*\n)* *["']( *)<% *if *\(support\.nonEnumShadows[\s\S]+?["']\1<% *} *%>.+/, '');
});
return source;
@@ -1826,10 +1824,9 @@
dependencyMap.reduceRight = _.without(dependencyMap.reduceRight, 'isString');
if (!isMobile) {
dependencyMap.isEmpty = _.without(dependencyMap.isEmpty, 'isArguments');
dependencyMap.isEqual = _.without(dependencyMap.isEqual, 'isArguments');
dependencyMap.isPlainObject = _.without(dependencyMap.isPlainObject, 'isArguments');
dependencyMap.keys = _.without(dependencyMap.keys, 'isArguments');
_.each(['isEmpty', 'isEqual', 'isPlainObject', 'keys'], function(methodName) {
dependencyMap[methodName] = _.without(dependencyMap[methodName], 'isArguments');
});
}
}
if (isUnderscore) {
@@ -3160,6 +3157,17 @@
if (_.size(source.match(/\bfreeExports\b/g)) < 2) {
source = removeVar(source, 'freeExports');
}
if (!/^ *support\.(?:skipErrorProps|nonEnumShadows) *=/m.test(source)) {
source = removeVar(source, 'Error');
source = removeVar(source, 'errorProto');
source = removeFromCreateIterator(source, 'errorClass');
source = removeFromCreateIterator(source, 'errorProto');
// remove 'Error' from the `contextProps` array
source = source.replace(/^ *var contextProps *=[\s\S]+?;/m, function(match) {
return match.replace(/'Error', */, '');
});
}
debugSource = cleanupSource(source);
source = cleanupSource(source);