statically bind super references in object expressions - fixes #943

This commit is contained in:
Sebastian McKenzie
2015-03-04 22:52:07 +11:00
parent 2eaeebcce4
commit 5337ab5a08
5 changed files with 59 additions and 20 deletions

View File

@@ -0,0 +1,5 @@
var o = {
m() {
return super.x;
}
};

View File

@@ -0,0 +1,13 @@
"use strict";
var _obj;
var _get = function get(object, property, receiver) { var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc && desc.writable) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var o = _obj = {
m: function m() {
var _this = this;
return _get(Object.getPrototypeOf(_obj), "x", this);
}
};