mirror of
https://github.com/facebookarchive/prepack.git
synced 2024-10-27 07:41:52 +03:00
ec37b77b6e
Summary: Follow-up to https://github.com/facebook/prepack/pull/2212. Pull Request resolved: https://github.com/facebook/prepack/pull/2234 Differential Revision: D8788834 Pulled By: gaearon fbshipit-source-id: 08937736bed3df0ea13d5e7a3925fb2f58633d5c
34 lines
812 B
JavaScript
34 lines
812 B
JavaScript
var obj = global.__abstract && global.__makePartial ? __makePartial(__abstract({}, "({foo:1})")) : { foo: 1 };
|
|
if (global.__makeSimple) __makeSimple(obj);
|
|
|
|
function additional1() {
|
|
var foo = obj.foo;
|
|
return Object.prototype.hasOwnProperty.call(foo, "bar");
|
|
}
|
|
|
|
function additional2() {
|
|
var foo = obj.foo;
|
|
var dontHavocThis = {
|
|
bar: 2,
|
|
toString: function() {
|
|
return "bar";
|
|
},
|
|
};
|
|
Object.prototype.hasOwnProperty.call(foo, dontHavocThis);
|
|
if (global.__isAbstract && __isAbstract(dontHavocThis.bar)) {
|
|
return "This should not be abstract.";
|
|
}
|
|
return dontHavocThis.bar;
|
|
}
|
|
|
|
if (global.__optimize) {
|
|
__optimize(additional1);
|
|
__optimize(additional2);
|
|
}
|
|
|
|
inspect = function() {
|
|
var obj1 = additional1();
|
|
var obj2 = additional2();
|
|
return JSON.stringify({ obj1, obj2 });
|
|
};
|