www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Get full class name at compile time - Not yet implemented

reply "Andre" <andre s-e-a-p.de> writes:
Hi,

I currently have some issues to get the full class name at 
compile time by the variable which might point to null.
With .stringof I get the class name without the module. It seems 
typeid(typeof())
is the solution, but DMD throws the error:

source\app.d(10): Error: &typeid(app.A).name is not yet 
implemented at compile t
ime

Do I have any other possibilities?

Kind regards
André

module app;

class A {};

void main()
{
	A a;

	pragma(msg, typeof(a).stringof); // A
	pragma(msg, typeid(typeof(a)).name); // Should print app.A
}
Nov 12 2014
parent reply Rikki Cattermole <alphaglosined gmail.com> writes:
On 13/11/2014 6:22 p.m., Andre wrote:
 Hi,

 I currently have some issues to get the full class name at compile time
 by the variable which might point to null.
 With .stringof I get the class name without the module. It seems
 typeid(typeof())
 is the solution, but DMD throws the error:

 source\app.d(10): Error: &typeid(app.A).name is not yet implemented at
 compile t
 ime

 Do I have any other possibilities?

 Kind regards
 André

 module app;

 class A {};

 void main()
 {
      A a;

      pragma(msg, typeof(a).stringof); // A
      pragma(msg, typeid(typeof(a)).name); // Should print app.A
 }
http://dlang.org/phobos/std_traits.html#fullyQualifiedName
Nov 12 2014
parent "Andre" <andre s-e-a-p.de> writes:
perfekt, thanks a lot.

Kind regards
André

On Thursday, 13 November 2014 at 05:37:26 UTC, Rikki Cattermole 
wrote:
 On 13/11/2014 6:22 p.m., Andre wrote:

 http://dlang.org/phobos/std_traits.html#fullyQualifiedName
Nov 12 2014