add: var sourceLines = sourceText.lines;  
context: function sr_guessname (sourceText){    var targetLine = this.script.baseLineNumber;    if (this.functionName == MSG_VAL_TLSCRIPT)    {        if (sourceText[targetLine].search(/\WsetTimeout\W/) != -1)            this.functionName = MSD_VAL_TOSCRIPT;        else if (sourceText[targetLine].search(/\WsetInterval\W/) != -1)            this.functionName = MSD_VAL_IVSCRIPT;                else if (sourceText[targetLine].search(/\Weval\W/) != -1)            this.functionName = MSD_VAL_EVSCRIPT;        return;    }        if (this.functionName != "anonymous")        return;    var scanText = "";        /* scan at most 3 lines before the function definition */    switch (targetLine - 3)    {        case -2: /* target line is the first line, nothing before it */            break;        case -1: /* target line is the second line, one line before it */             scanText =                 String(sourceText[targetLine - 2]);            break;        case 0:  /* target line is the third line, two before it */            scanText =                String(sourceText[targetLine - 3]) +                 String(sourceText[targetLine - 2]);            break;                    default: /* target line is the fourth or higher line, three before it */            scanText +=                 String(sourceText[targetLine - 4]) +                 String(sourceText[targetLine - 3]) +                String(sourceText[targetLine - 2]);            break;    }    scanText += String(sourceText[targetLine - 1]);        scanText = scanText.substring(0, scanText.lastIndexOf ("function"));    var ary = scanText.match (/(\w+)\s*[:=]\s*$/);    if (ary)    {        this.functionName = getMsg(MSN_FMT_GUESSEDNAME, ary[1]);        this.isGuessedName = true;        var wv = console.stackView;        if (wv.stack.childData)        {            /* if we've got a stack trace, search it to see if any frames             * contain this script.  if so, update the function name */            for (var i = 0; i < wv.stack.childData.length; ++i)            {                var cd = wv.stack.childData[i];                if (cd.frame.script == this.script)                {                    cd.functionName = this.functionName;                    wv.outliner.invalidateRow(cd.calculateVisualRow());                }            }        }    }    else        dd ("unable to guess function name based on text ``" + scanText + "''");}            
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/89326cbcdc6feb4eef3ffc00bb488c9640e8dd81/venkman-trees.js/clean/extensions/venkman/resources/content/venkman-trees.js