using __traits to get line number of a member
forkit
forkit at gmail.com
Sat Nov 13 05:31:51 UTC 2021
Code below is self explanatory.
Any assistance on how to get the line number is welcome ;-)
// ++++++++++++++++++++++++++
module test;
import std;
class myClass{ void foo(){}}
void myFunction1(){}
void main()
{
// list the first user defined member of this module (other
than main)
int i;
foreach(m; __traits(allMembers, mixin(__MODULE__)))
{
// we can ignore these members
// "std" and "object" are created by the compiler, and
"main" I'm not interested in.
if(m == "std" || m == "object" || m == "main")
{
i = 1;
continue;
}
writefln("The name of the first user member is: %s", m);
// On this next line, m.lineNumber is just a stub holder
till an actual solution is found
//writefln("The line number on which that member begins,
is: %s, m.lineNumber);
if(i == 1)
break;
}
//writeln("Nothing to see here.");
}
void myFunction2(){}
// +++++++++++++++++++++++++
More information about the Digitalmars-d-learn
mailing list