blob: fef0cd8eb58738fe1978845e9bc21298055ad948 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
baseObj = {
get val() { return this.value },
set val(arg) {
// Recursive call to the setter. Validates inline cache associated with this call site
if (this.parent) this.parent.val = 2*arg;
this.value=arg; WScript.Echo("in the setter with " + arg);
}
};
function F(v, p)
{
this.value = v;
this.parent = p;
}
F.prototype = baseObj;
a = new F(20, null);
b = new F(22, a);
c = new F(24, b);
WScript.Echo(a.val + " " + b.val + " " + c.val);
c.val = 46;
WScript.Echo(a.val + " " + b.val + " " + c.val);
b.val = 13;
WScript.Echo(a.val + " " + b.val + " " + c.val);