www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Fully qualified class name at compile-time

reply Matthias Walter <walter mail.math.uni-magdeburg.de> writes:
Hello,

I'd like to get the fully qualified name of a class for some CTFE:

`MyClass.classinfo.name`

returns the expected result, but is not evaluated at compiletime.

I already thought about demangle(MyClass.mangleof) but this seems to be bad
coding style and I also didn't find a demangle-function in Tango yet.

best regards
Matthias Walter
Apr 11 2008
next sibling parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Matthias Walter" <walter mail.math.uni-magdeburg.de> wrote in message 
news:ftn3gh$urd$1 digitalmars.com...
 Hello,

 I'd like to get the fully qualified name of a class for some CTFE:

 `MyClass.classinfo.name`

 returns the expected result, but is not evaluated at compiletime.

 I already thought about demangle(MyClass.mangleof) but this seems to be 
 bad coding style and I also didn't find a demangle-function in Tango yet.
Sadly that's about the best you can do. See: http://www.dsource.org/projects/ddl/browser/trunk/meta/demangle.d For an implementation that will demangle stuff at compile-time and allow you to get FQNs.
Apr 11 2008
prev sibling parent reply BCS <BCS pathlink.com> writes:
Matthias Walter wrote:
 Hello,
 
 I'd like to get the fully qualified name of a class for some CTFE:
 
 `MyClass.classinfo.name`
 
 returns the expected result, but is not evaluated at compiletime.
 
 I already thought about demangle(MyClass.mangleof) but this seems 
 to be bad coding style and I also didn't find a demangle-function
 in Tango yet.
 
 best regards
 Matthias Walter
take a look at ".stringof", I /think/ it can be used for this.
Apr 11 2008
parent reply Leonard Dahlmann <leo.dahlmann gmail.com> writes:
BCS Wrote:

 Matthias Walter wrote:
 Hello,
 
 I'd like to get the fully qualified name of a class for some CTFE:
 
 `MyClass.classinfo.name`
 
 returns the expected result, but is not evaluated at compiletime.
 
 I already thought about demangle(MyClass.mangleof) but this seems 
> to be bad coding style and I also didn't find a demangle-function > in Tango yet.
 
 best regards
 Matthias Walter
take a look at ".stringof", I /think/ it can be used for this.
".stringof" doesn't return the fully qualified name.
Apr 11 2008
parent BCS <BCS pathlink.com> writes:
Leonard Dahlmann wrote:
 BCS Wrote:
 
take a look at ".stringof", I /think/ it can be used for this.
".stringof" doesn't return the fully qualified name.
Well than I think i was wrong. Crud.
Apr 11 2008