Let's say I have this example program.
I want to get the arguments of all the some_function();
in the whole program.
Even if the scope of the function call is never executed. (Ex. due to IF statement being negative.)
I tried to use __traits
but it seems to not gather any information about function calls.
Or I'm missing something.
import std.stdio;
import std.traits;
void some_function(string argument){}
void main(){
some_function("someargument1");
some_function("someargument2");
if (false){
some_function("someargument3");
}
/* __traits allMembers does not print function calls.
I tried to use allMembers of __traits, but it does not contain the function calls.
Only the functions definitions/declarations inside a module.
*/
foreach(memberss; __traits(allMembers, mixin(__MODULE__))){
write(" ", isSomeFunction!(mixin(memberss)));
writeln(" \t", fullyQualifiedName!(mixin(memberss)));
}