Mercurial Hosting > luan
diff core/src/luan/LuanBit.java @ 481:5d4a78c93383
luan errors are now tables
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 11 May 2015 20:26:36 -0600 |
parents | e12841f7edef |
children | e3b0846dc2ef |
line wrap: on
line diff
--- a/core/src/luan/LuanBit.java Mon May 11 16:43:04 2015 -0600 +++ b/core/src/luan/LuanBit.java Mon May 11 20:26:36 2015 -0600 @@ -12,18 +12,18 @@ this.el = el; } - public LuanException exception(Object msg) { + public LuanException exception(Object msg) throws LuanException { return new LuanException(this,msg); } - public String stackTrace() { - StringBuilder buf = new StringBuilder(); + public StackTraceElement[] stackTrace() { + List<StackTraceElement> stackTrace = luan.stackTrace; if( el != null ) - buf.append( "\n\t" ).append( el.toString(null) ); - for( int i = luan.stackTrace.size() - 1; i>=0; i-- ) { - buf.append( "\n\t" ).append( luan.stackTrace.get(i) ); - } - return buf.toString(); + stackTrace.add(new StackTraceElement(el,null)); + StackTraceElement[] rtn = stackTrace.toArray(new StackTraceElement[0]); + if( el != null ) + stackTrace.remove(stackTrace.size()-1); + return rtn; } public void dumpStack() { @@ -93,10 +93,6 @@ return "nil"; if( obj instanceof Number ) return Luan.toString((Number)obj); - if( obj instanceof LuanException ) { - LuanException le = (LuanException)obj; - return le.getFullMessage(); - } if( obj instanceof byte[] ) return "binary: " + Integer.toHexString(obj.hashCode()); return obj.toString();