On Sunday, 14 January 2018 at 02:36:02 UTC, Timothee Cour wrote:
how to instrument dmd compiler to dump all references to a given symbol?

you can actually do it with your own code. behold:

struct A{
//int a; // comment this line
int _a; // make the actual var renamed...

// then add a ref property with template file/line params
@property ref int a(string file = __FILE__, size_t line = __LINE__)() {
        pragma(msg, file); // and print those out
        pragma(msg, line);
        return _a;
}
 void fun(){
  a++; // HERE
  alias b=a;
 b++; // HERE
 }
}

void fun(){
 int a; // NOT HERE
 A b;
 b.a ++ ; // HERE
}



Can be a bit trickier in other cases but there's a compile time list of uses.

Reply via email to