michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /* michael@0: * Date: 06 Mar 2001 michael@0: * michael@0: * SUMMARY: Propagate heavyweightness back up the function-nesting michael@0: * chain. See http://bugzilla.mozilla.org/show_bug.cgi?id=71107 michael@0: * michael@0: */ michael@0: //----------------------------------------------------------------------------- michael@0: var BUGNUMBER = 71107; michael@0: var summary = 'Propagate heavyweightness back up the function-nesting chain.'; michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: test(); michael@0: //----------------------------------------------------------------------------- michael@0: michael@0: michael@0: function test() michael@0: { michael@0: enterFunc ('test'); michael@0: printBugNumber(BUGNUMBER); michael@0: printStatus (summary); michael@0: michael@0: var actual = outer()()(); //call the return of calling the return of outer() michael@0: var expect = 5; michael@0: reportCompare(expect, actual, summary); michael@0: michael@0: exitFunc ('test'); michael@0: } michael@0: michael@0: michael@0: function outer () { michael@0: var outer_var = 5; michael@0: michael@0: function inner() { michael@0: function way_inner() { michael@0: return outer_var; michael@0: } michael@0: return way_inner; michael@0: } michael@0: return inner; michael@0: }