DART是否支持预定义的宏,例如:
__LINE__
或者
__FUNCTION__
我提问的原因是,转换器DART2JS使控制台日志无用,因为所有的日志都显示为: js_primitives.dart:30
[更新BasE]
当使用转换器dart2js时,print("hello world");
会导致以下结果:
JS('void', r'console.log(#)', "hello world);
需要从位于库dart2js._js_primitives中的函数printString(String string)调用
这导致控制台日志消息始终包含相同的行号,无论在DART代码中的哪个位置使用print()。(由于console.log将自动添加文件名和行号到驻留在dart2js._js_primitives中的包装函数的控制台显示),由于当前实现向console.log消息添加文件名和行号是无用的,如果有另一种方法允许显示附加信息将会更好。
例如,print("hello world" __FUNCTION__ __LINE__);将导致显示更多有用的调试信息。