rem: dd ("get stack context...");  
context: function sv_getcx(cx){    dd ("get stack context...");        if (!cx)        cx = new Object();    var selection = this.outliner.selection;    var rec = this.childData.locateChildByVisualRow(selection.currentIndex);        if (!rec)    {        dd ("no current index.");        return cx;    }    cx.target = rec;        if (rec instanceof FrameRecord)    {        cx.frameIndex = rec.childIndex;    }    else if (rec instanceof ValueRecord)    {        cx.jsdValue = rec.value;    }    if (!("frameIndex" in cx))    {        var parent = rec.parentRecord;        if (!parent)            dd ("no parent!");        while (parent && !(parent instanceof FrameRecord))                parent = parent.parentRecord;                if (parent instanceof FrameRecord)            cx.frameIndex = parent.childIndex;    }            var rangeCount = this.outliner.selection.getRangeCount();    if (rangeCount > 0)        cx.jsdValueList = new Array();        for (var range = 0; range < rangeCount; ++range)    {        var min = new Object();        var max = new Object();        this.outliner.selection.getRangeAt(range, min, max);        for (var i = min; i < max; ++i)        {            rec = this.childData.locateChildByVisualRow(i);            if (rec instanceof ValueRecord)                cx.jsdValueList.push(rec.value);        }    }    return cx;}    
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/69e7d256c057e99685d6a99b1bbee39c44a8a961/venkman-trees.js/buggy/extensions/venkman/resources/content/venkman-trees.js