Hey,<div>    Thanks for your answers, I tried using xref and it is working perfectly, I am able to get both the local and remote functions which I am calling from a specific function. </div><div><br></div><div>I need to extract the function body for the following reasons. I need to transfer only the code that a function makes use of between nodes, nothing more. Xref is giving me the signature of all those functions that I need. Now, I want to use these signatures to extract the remaining body of the functions. </div>
<div><br></div><div>Another short question, is there any way in which I can differentiate whether a function comes from an Erlang release or not? Thus, if for example I ask is_native(io_lib,format,2) - > true, otherwise is_native(MyModule, MyFunction,0) -> false. I do not need to transfer functions which are native to Erlang and which can be found on any Erlang node.</div>
<div><br></div><div>Thanks again for your help</div><div><br><div class="gmail_quote">On Tue, Aug 21, 2012 at 12:58 AM, Richard O'Keefe <span dir="ltr"><<a href="mailto:ok@cs.otago.ac.nz" target="_blank">ok@cs.otago.ac.nz</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 21/08/2012, at 9:48 AM, Justin Calleja wrote:<br>
><br>
> Here's one instance that comes to mind with regards to wanting part of a function definition (i.e. just some of it's clauses):<br>
> When implementing a gen_server you handle synchronous requests using handle_call/3. You might just want the implementation of handle_call/3 which deals with certain messages.<br>
<br>
</div>Yes, but that part<br>
 - might be more than one clause<br>
 - which need not be contiguous in the function<br>
 - and some or all of them might be shared with the handling<br>
   of other messages.<br>
<br>
It is possible to deliberately construct a function as a<br>
collection of clauses with small non-overlapping heads that<br>
simply redirect to other functions, so that it would make<br>
sense to extract part of _that_ function, and you would<br>
do so *not* by extracting the clause but by simply picking<br>
up the entire function that it delegates to.<br>
<br>
That doesn't mean it makes sense to extract part of a<br>
function that wasn't written to be treated that way.<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Best Regards,<div>Tyron Zerafa</div><br>
</div>