簡體   English   中英

如何在 Elixir 中列出 function 的調用者?

[英]How to list callers of a function in Elixir?

我正在重構 function 並且我想知道調用它的每個文件。 使用別名和導入,簡單的 grep 將列出不同模塊中具有相同名稱的其他函數,或者會錯過一些調用。

我嘗試使用mix xref ,但它不適用於功能,只有模塊(我使用的是 Elixir 1.12.1)。

$ mix xref callers MySchema.changeset/2
** (Mix) xref callers MODULE expects a MODULE, got: MySchema.changeset/2

是否有工具或外部參照命令列出 Elixir 中 function 的調用者?

有一個已棄用的Mix.Tasks.Xref.calls/1 function,但由於某種原因它已被棄用, 編譯跟蹤器更強大。

您可以為{:remote_function, _, YourModule, :your_fun, your_arity}設置跟蹤器,然后從那里簡單地IO.puts/2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM