1 - The documentation for DeclRefExpr says the following:<br> "<a class="el" href="http://clang.llvm.org/doxygen/classA.html">A</a> reference to a declared variable, function, enum, etc."<br> Does this mean that DeclRefExprs also refer to types such as a concept's associated type <br>
(declared with the typename keyword, as a TemplateTypeParmDecl) ?<br><br>2 - How are TypedefTypes related to TypedefDecls, and possibly TemplateTypeParmDecl as well?<br><br>3- I ran into this confusion when I was trying to modify the transformations on calls to concept's associated <br>
functions and types. I can't decide which one of these methods would be the most appropriate or general <br> place for the change: TransformDeclRefExpr, or TransformDecl and TransformType (and/or even <br>
TransformNestedNameSpecifier).<br> Basically, I'm trying to say: if the referred type or function (or variable) we are trying to transform is <br> declared within a concept defn context, then match it to the appropriate concept map, and change <br>
the type or expression so that it now refers to the corresponding type or function (or variable) as defined<br> within the map context...<br> This is part of my implementation for concept lookup. I can see it working for associated functions, when <br>
my changes are at the beginning of TransformDeclRef, but I'm not sure if that would work well for types as well.<br> <br><br>Thanks,<br><br>-- Larisse.<br><br><br>