diff --git a/build.js b/build.js index 6a4751cf1..7ea8d9468 100755 --- a/build.js +++ b/build.js @@ -1228,9 +1228,13 @@ */ function removeSupportNonEnumShadows(source) { source = removeSupportProp(source, 'nonEnumShadows'); + source = removeVar(source, 'nonEnumProps'); source = removeVar(source, 'shadowedProps'); source = removeFromCreateIterator(source, 'shadowedProps'); + // remove nested `nonEnumProps` assignments + source = source.replace(/^ *\(function[\s\S]+?\n *var length\b[\s\S]+?shadowedProps[\s\S]+?}\(\)\);\n/m, ''); + // remove `support.nonEnumShadows` from `iteratorTemplate` source = source.replace(getIteratorTemplate(source), function(match) { return match.replace(/(?: *\/\/.*\n)* *["']( *)<% *if *\(support\.nonEnumShadows[\s\S]+?["']\1<% *} *%>.+/, ''); @@ -1382,7 +1386,7 @@ */ function removeVar(source, varName) { // simplify complex variable assignments - if (/^(?:cloneableClasses|contextProps|ctorByClass|shadowedProps|whitespace)$/.test(varName)) { + if (/^(?:cloneableClasses|contextProps|ctorByClass|nonEnumProps|shadowedProps|whitespace)$/.test(varName)) { source = source.replace(RegExp('(var ' + varName + ' *=)[\\s\\S]+?;\\n\\n'), '$1=null;\n\n'); }