如何让透析器忽略某些未导出的功能?
我正在使用啤酒做我的日志记录; 它有一个解析器转换,将lager:warn/1
等函数转换为lager:trace...
函数。
透析器不处理解析器转换,所以它会通过Call to missing or unexported function lager:warn/1
。
我如何告诉它这个函数确实存在,而不是警告它?
最好的办法是让dialyzer查看你的编译束文件,只要在编译代码时应用解析变换,并且在你的.plt文件中包含lager就可以了
通过检查meck项目的Makefile中关于透析器的工作,找到了一种方法。 看看:Makefile
关键部分是这样的:
|
fgrep -v -f ./dialyzer.ignore-warnings
因此在该文件中:dialyzer.ignore-警告您将看到该做什么。 在我的版本中,我补充道:
呼叫丢失或未导出的函数储存器:警告/ 1
呼叫丢失或未导出的功能啤酒:警告/ 2
调用缺少或未导出的函数lager:info / 1
呼叫丢失或未导出的函数lager:info / 2
调用缺少或未导出的函数lager:error / 1
调用缺少或未导出的函数lager:error / 2
我得到的警告消失了。 我当然在我的rebar.config中有这个条目:
{erl_opts, [{parse_transform, lager_transform}]}.
链接地址: http://www.djcxy.com/p/76081.html
上一篇: How do I get dialyzer to ignore certain unexported functions?
下一篇: SQL Most effective way to store every word in a document separately