Ping! Any takers? Thanks, - Kim
On Mon, May 1, 2017 at 10:27 AM, Kim Gräsman via Phabricator <revi...@reviews.llvm.org> wrote: > kimgr created this revision. > > I couldn't make sense of the docs before, so I sent a question to cfe-dev. > Richard was gracious enough to fill in the blanks: > http://lists.llvm.org/pipermail/cfe-dev/2017-April/053687.html > > I've tried to transfer some of his response to the Doxygen for > UsingShadowDecl. Here's to hoping I captured everything correctly. > > > Repository: > rL LLVM > > https://reviews.llvm.org/D32696 > > Files: > include/clang/AST/DeclCXX.h > > > Index: include/clang/AST/DeclCXX.h > =================================================================== > --- include/clang/AST/DeclCXX.h > +++ include/clang/AST/DeclCXX.h > @@ -2856,18 +2856,34 @@ > }; > > /// \brief Represents a shadow declaration introduced into a scope by a > -/// (resolved) using declaration. > +/// (resolved) using declaration, whose target is made visible for name > lookup. > /// > /// For example, > /// \code > /// namespace A { > -/// void foo(); > +/// void foo(int); > +/// void foo(double); > /// } > /// namespace B { > /// using A::foo; // <- a UsingDecl > -/// // Also creates a UsingShadowDecl for A::foo() in B > +/// // Also creates UsingShadowDecls for both A::foo(int) and > +/// // A::foo(double) in B > /// } > /// \endcode > +/// > +/// Derived class member declarations can hide any shadow declarations > brought > +/// in by a class-scope UsingDecl; > +/// \code > +/// class Base { > +/// public: > +/// void foo(); > +/// }; > +/// class Derived : public Base { > +/// public: > +/// using Base::foo; // <- a UsingDecl > +/// void foo(); // Hides Base::foo and suppresses its UsingShadowDecl. > +/// }; > +/// \endcode > class UsingShadowDecl : public NamedDecl, public > Redeclarable<UsingShadowDecl> { > void anchor() override; > > > _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits