rem: var js = fnBlock.join(""); this.renderMarkup = eval(js); }, 
add: if (iter instanceof Array) iter = new ArrayIterator(iter);  try { while (1) { var value = iter.next(); var itemOuts = [0,0]; iterOuts.push(itemOuts); fn.apply(this, [value, itemOuts]); } } catch (exc) { if (exc != StopIteration) throw exc; } }  var js = fnBlock.join(""); this.renderMarkup = eval(js); }, 
context: 	compileMarkup: function()	{        this.markupArgs = [];		var topBlock = [], topOuts = [], blocks = [], info = {args: this.markupArgs, argIndex: 0};	    //this.addLocals(blocks);		this.generateMarkup(topBlock, topOuts, blocks, info);		this.addCode(topBlock, topOuts, blocks);		var fnBlock = ['(function (__code__, __context__, __in__, __out__'];		for (var i = 0; i < info.argIndex; ++i)		    fnBlock.push(', s', i);        fnBlock.push(') {');                if (this.subject)            fnBlock.push('with (this) {');        if (this.context)            fnBlock.push('with (__context__) {');        fnBlock.push('with (__in__) {');        fnBlock.push.apply(fnBlock, blocks);        if (this.subject)            fnBlock.push('}');        if (this.context)            fnBlock.push('}');		fnBlock.push('}})');		        function __link__(tag, code, outputs, args)        {                        tag.tag.compile();            var tagOutputs = [];            var markupArgs = [code, tag.tag.context, args, tagOutputs];            markupArgs.push.apply(markupArgs, tag.tag.markupArgs);    		tag.tag.renderMarkup.apply(tag.tag.subject, markupArgs);            outputs.push(tag);            outputs.push(tagOutputs);        }                function __escape__(value)        {            function replaceChars(ch)            {                switch (ch)                {                    case "<":                        return "&lt;";                    case ">":                        return "&gt;";                    case "&":                        return "&amp;";                    case "'":                        return "&#39;";                    case '"':                        return "&quot;";                }                return "?";            };            return String(value).replace(/[<>&"']/g, replaceChars);        }              		function __loop__(iter, outputs, fn)		{		    var iterOuts = [];		    outputs.push(iterOuts);		    if (iter instanceof Array)		        iter = new ArrayIterator(iter);		    		    try		    {    		    while (1)    		    {    		        var value = iter.next();    		        var itemOuts = [0,0];    		        iterOuts.push(itemOuts);    		        fn.apply(this, [value, itemOuts]);    		    }		    }		    catch (exc)		    {		        if (exc != StopIteration)		            throw exc;		    }		}		var js = fnBlock.join("");	    this.renderMarkup = eval(js);	},
meta: 7450	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/7450/e1d42ad3fad63b72826a4e2ed0726866484c9ac3/domplate.js/buggy/extension/content/firebug/domplate.js