This change more accurately implements ECMAScript prototype chains. This includes using the prototype chain to lookup properties when necessary, and copying them down upon writes. This still isn't 100% faithful -- for example, classes and constructor functions should be represented as real objects with the prototype link -- so that examples like those found here will work: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor. I've updated marapongo/mu#70 with additional details about this. I'm sure we'll be forced to fix this as we encounter more "dynamic" JavaScript. (In fact, it would be interesting to start running the pre-ES6 output of TypeScript through the compiler as test cases.) See http://www.ecma-international.org/ecma-262/6.0/#sec-objects for additional details on the prototype chaining semantics. |
||
---|---|---|
.. | ||
apply.go | ||
compile_shared.go | ||
describe.go | ||
eval.go | ||
get.go | ||
mu.go | ||
plan.go | ||
verify.go | ||
version.go |