2016-06-28 67 views
2

得到行号和线的位置在haXe的宏的每一个表情,我们可以得到它在http://api.haxe.org/haxe/macro/Position.html形式位置:haXe的:从haxe.macro.Position

{ 
    file:String, // filename - relative to source path 
    min:Int, // position of first character in file 
    max:Int // position of last character in file 
} 

我想在一行行数量和位置用于最小和最大变量。

我绝对可以通过打开文件

FileSystem.absolutePath(Context.resolvePath(posInfo.file)); 

和计算行数做到这一点,但haXe的已经这样做了,这是更好的摆脱编译此信息。可能吗?

+0

你能详细了解您实际的问题? – KevinResoL

+0

我使用宏在每个函数的每个表达式之间插入我的代码,从而进行调试器。我需要这个线位置。我是通过手动解析文件来完成的,但我仍然认为最好从编译器获取这些信息。 – romamik

回答

0

我认识的几个项目做手工(如CheckStyle的)

加载文件的内容,找到回车(\ n,\ r或\ n \ r)的标记为每个新行的字符位置,查找您pos.min对那些位置

我猜它可能是,如果你有在文件中的多字节字符问题更多...