|
@@ -27,7 +27,7 @@ package haxe;
|
|
|
enum StackItem {
|
|
|
CFunction;
|
|
|
Module( m : String );
|
|
|
- FilePos( s : Null<StackItem>, file : String, line : Int );
|
|
|
+ FilePos( s : Null<StackItem>, file : String, line : Int, ?column : Null<Int> );
|
|
|
Method( classname : String, method : String );
|
|
|
LocalFunction( ?v : Int );
|
|
|
}
|
|
@@ -57,7 +57,7 @@ class CallStack {
|
|
|
method = Method(className, methodName);
|
|
|
}
|
|
|
}
|
|
|
- stack.push(FilePos(method, site.getFileName(), site.getLineNumber()));
|
|
|
+ stack.push(FilePos(method, site.getFileName(), site.getLineNumber(), site.getColumnNumber()));
|
|
|
}
|
|
|
return stack;
|
|
|
}
|
|
@@ -246,7 +246,7 @@ class CallStack {
|
|
|
case Module(m):
|
|
|
b.add("module ");
|
|
|
b.add(m);
|
|
|
- case FilePos(s,file,line):
|
|
|
+ case FilePos(s,file,line,col):
|
|
|
if( s != null ) {
|
|
|
itemToString(b,s);
|
|
|
b.add(" (");
|
|
@@ -254,6 +254,10 @@ class CallStack {
|
|
|
b.add(file);
|
|
|
b.add(" line ");
|
|
|
b.add(line);
|
|
|
+ if(col != null) {
|
|
|
+ b.add(" column ");
|
|
|
+ b.add(col);
|
|
|
+ }
|
|
|
if( s != null ) b.add(")");
|
|
|
case Method(cname,meth):
|
|
|
b.add(cname);
|
|
@@ -330,7 +334,8 @@ class CallStack {
|
|
|
var meth = path.pop();
|
|
|
var file = rie10.matched(2);
|
|
|
var line = Std.parseInt(rie10.matched(3));
|
|
|
- m.push(FilePos( meth == "Anonymous function" ? LocalFunction() : meth == "Global code" ? null : Method(path.join("."),meth), file, line ));
|
|
|
+ var column = Std.parseInt(rie10.matched(4));
|
|
|
+ m.push(FilePos( meth == "Anonymous function" ? LocalFunction() : meth == "Global code" ? null : Method(path.join("."),meth), file, line, column ));
|
|
|
} else
|
|
|
m.push(Module(StringTools.trim(line))); // A little weird, but better than nothing
|
|
|
}
|