Remove unnecessary length check & nesting.

This commit is contained in:
Jesse McCarthy
2016-01-11 13:08:58 -05:00
parent 4c69f1cda5
commit e4044062c3

View File

@@ -171,20 +171,18 @@ export let visitor = {
path.traverse(memberExpressionOptimisationVisitor, state);
// There are only "shorthand" references
if (!state.deopted && !state.references.length) {
// we only have shorthands and there are no other references
if (state.candidates.length) {
for (let {path, cause} of (state.candidates: Array)) {
switch (cause) {
case "indexGetter":
optimiseIndexGetter(path, argsId, state.offset);
break;
case "lengthGetter":
optimiseLengthGetter(path, argsLengthExpression, argsId, state.offset);
break;
default:
path.replaceWith(argsId);
}
for (let {path, cause} of (state.candidates: Array)) {
switch (cause) {
case "indexGetter":
optimiseIndexGetter(path, argsId, state.offset);
break;
case "lengthGetter":
optimiseLengthGetter(path, argsLengthExpression, argsId, state.offset);
break;
default:
path.replaceWith(argsId);
}
}
return;