Set value of joined BreakCompletions

Summary:
Small fix to value of joined BreakCompletions
Closes https://github.com/facebook/prepack/pull/1861

Differential Revision: D7867413

Pulled By: sb98052

fbshipit-source-id: 94ff51ae0225b8381a79d9fd53128b18448b65a4
This commit is contained in:
Sapan Bhatia 2018-05-03 15:41:54 -07:00 committed by Facebook Github Bot
parent b55c484d1d
commit 8ec0b2efaa
2 changed files with 17 additions and 1 deletions

View File

@ -631,7 +631,7 @@ export class JoinImplementation {
if (result1 instanceof BreakCompletion && result2 instanceof BreakCompletion && result1.target === result2.target) {
let val = this.joinValues(realm, result1.value, result2.value, getAbstractValue);
invariant(val instanceof Value);
return new BreakCompletion(realm.intrinsics.empty, joinCondition.expressionLocation, result1.target);
return new BreakCompletion(val, joinCondition.expressionLocation, result1.target);
}
if (
result1 instanceof ContinueCompletion &&

View File

@ -0,0 +1,16 @@
let foo = global.__abstract ? __abstract("boolean", "true") : true;
y = eval(`
do {
if (foo) {
x = 1;
break;
} else {
x = 2;
break;
}
} while (true);`);
inspect = function() {
return y;
}