Quellcode durchsuchen

added toString.

Nicolas Cannasse vor 19 Jahren
Ursprung
Commit
b621ff8e45
1 geänderte Dateien mit 20 neuen und 0 gelöschten Zeilen
  1. 20 0
      std/neko/Stack.hx

+ 20 - 0
std/neko/Stack.hx

@@ -56,6 +56,26 @@ class Stack {
 		return makeStack(untyped __dollar__excstack());
 	}
 
+	public static function toString( stack : Array<StackItem> ) {
+		var b = new StringBuf();
+		for( s in stack )
+			switch( s ) {
+			case CFunction:
+				b.add("Called from a C function\n");
+			case Module(m):
+				b.add("Called from module ");
+				b.add(m);
+				b.add("\n");
+			case FilePos(name,line):
+				b.add("Called from ");
+				b.add(name);
+				b.add(" line ");
+				b.add(line);
+				b.add("\n");
+			}
+		return b.toString();
+	}
+
 	private static function makeStack(s) {
 		var a = new Array();
 		var l = untyped __dollar__asize(s);