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>