Index: src/proxy.js |
diff --git a/src/proxy.js b/src/proxy.js |
index 01d48b485ac193a19c6cc681b4e88a1533f56945..c11852b0f89f5ca84b698c43ef04ff8d3b00b88a 100644 |
--- a/src/proxy.js |
+++ b/src/proxy.js |
@@ -63,3 +63,21 @@ $Proxy.create = function(handler, proto) { |
if (!IS_SPEC_OBJECT(proto)) proto = $Object.prototype |
return %CreateJSProxy(handler, proto) |
} |
+ |
+ |
+ |
+ |
+//////////////////////////////////////////////////////////////////////////////// |
+// Builtins |
+//////////////////////////////////////////////////////////////////////////////// |
+ |
+function DerivedGetTrap(receiver, name) { |
+ var desc = this.getPropertyDescriptor(name) |
+ if (IS_UNDEFINED(desc)) { return desc; } |
+ if ('value' in desc) { |
+ return desc.value |
+ } else { |
+ if (IS_UNDEFINED(desc.get)) { return desc.get; } |
+ return desc.get.call(receiver) // The proposal says so... |
+ } |
+} |