comparison src/luan/LuanBit.java @ 132:14281d5bd36f

minor git-svn-id: https://luan-java.googlecode.com/svn/trunk@133 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Tue, 10 Jun 2014 09:17:25 +0000
parents 0594c132888b
children c9100f29fae0
comparison
equal deleted inserted replaced
131:15a8e6588f3c 132:14281d5bd36f
12 this.el = el; 12 this.el = el;
13 } 13 }
14 14
15 public LuanException exception(Object msg) { 15 public LuanException exception(Object msg) {
16 return new LuanException(this,msg); 16 return new LuanException(this,msg);
17 }
18
19 public String stackTrace() {
20 StringBuilder buf = new StringBuilder();
21 LuanElement el = this.el;
22 for( int i = luan.stackTrace.size() - 1; i>=0; i-- ) {
23 StackTraceElement stackTraceElement = luan.stackTrace.get(i);
24 buf.append( "\n\t" ).append( el.toString(stackTraceElement.fnName) );
25 el = stackTraceElement.call;
26 }
27 return buf.toString();
28 }
29
30 public void dumpStack() {
31 System.err.println( stackTrace() );
17 } 32 }
18 33
19 public Object call(LuanFunction fn,String fnName,Object[] args) throws LuanException { 34 public Object call(LuanFunction fn,String fnName,Object[] args) throws LuanException {
20 List<StackTraceElement> stackTrace = luan.stackTrace; 35 List<StackTraceElement> stackTrace = luan.stackTrace;
21 stackTrace.add( new StackTraceElement(el,fnName) ); 36 stackTrace.add( new StackTraceElement(el,fnName) );