lvm.js

changeset 137
6872878601d9
parent 136
0b31998aad53
child 138
f9bb0e212d28
equal deleted inserted replaced
136:0b31998aad53 137:6872878601d9
774 loadstring: function (chunk, env) 774 loadstring: function (chunk, env)
775 { 775 {
776 var c = new LBinaryChunk(this, chunk); 776 var c = new LBinaryChunk(this, chunk);
777 var f = new LFunction(this, c, env); 777 var f = new LFunction(this, c, env);
778 return new LValue(this, "function", f); 778 return new LValue(this, "function", f);
779 },
780 traceback: function ()
781 {
782 var trace = [];
783 for(var i=this.callstack.length-1; i>=0; i--)
784 {
785 var currframe = testvm.callstack[i];
786 var currfunc = currframe.f;
787 var sourceName = (currfunc.sourceName||"=?").substr(1);
788 var line = "?";
789 if(currfunc.sourceLines && currfunc.sourceLines[currframe.pc-1])
790 line = currfunc.sourceLines[currframe.pc-1];
791 trace.push({ sourceName: sourceName, line: line });
792 }
793 return trace;
779 } 794 }
780 }; 795 };
781 796
782 try{ 797 try{
783 var testvm = new LVM(); 798 var testvm = new LVM();

mercurial