Mercurial Hosting > luan
diff 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 |
line wrap: on
line diff
--- a/src/luan/LuanBit.java Tue Jun 10 04:15:19 2014 +0000 +++ b/src/luan/LuanBit.java Tue Jun 10 09:17:25 2014 +0000 @@ -16,6 +16,21 @@ return new LuanException(this,msg); } + public String stackTrace() { + StringBuilder buf = new StringBuilder(); + LuanElement el = this.el; + for( int i = luan.stackTrace.size() - 1; i>=0; i-- ) { + StackTraceElement stackTraceElement = luan.stackTrace.get(i); + buf.append( "\n\t" ).append( el.toString(stackTraceElement.fnName) ); + el = stackTraceElement.call; + } + return buf.toString(); + } + + public void dumpStack() { + System.err.println( stackTrace() ); + } + public Object call(LuanFunction fn,String fnName,Object[] args) throws LuanException { List<StackTraceElement> stackTrace = luan.stackTrace; stackTrace.add( new StackTraceElement(el,fnName) );