Need DMD AST expertise

Elie Morisse via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 21 12:42:54 PDT 2016


On Monday, 20 June 2016 at 20:52:02 UTC, Guillaume Chatelet wrote:
> I'll have a look at `parameters` from TemplateDeclaration [2] 
> but I still need to match it to the function arguments somehow.

The templated function is the child symbol of the 
TemplateDeclaration which shares the same name i.e

   Dsymbol* s;
   Dsymbol.oneMembers(tempdecl->members, &s, tempdecl->ident);
   auto fd = cast(FuncDeclaration) s;

You then need to visit the templated function parameters « 
(cast(TypeFunction) fd->type)->parameters » and look for 
identifiers that match the TemplateDeclaration.parameters[].ident.

In the simplest cases the types of templated function parameters 
are TypeIdentifier.


More information about the Digitalmars-d mailing list