Ping.
Justin Bogner <[email protected]> writes: > The InternalsManual seems to be a bit out of date. Can someone please > commit? > > > From 1c3d4db702600b6a71555addbe622e3bc0cb5c8d Mon Sep 17 00:00:00 2001 > From: Justin Bogner <[email protected]> > Date: Sun, 14 Jul 2013 15:25:50 -0600 > Subject: [PATCH] docs: Update the kinds of DeclarationName in the > InternalsManual > > A few things were out of date regarding declaration names: > > - There are 10 kinds of DeclarationName, not 8 > - Identifier is no longer used for C++ operators, so the note in > Identifier about them is invalid > - CXXLiteralOperatorName and CXXUsingDirective weren't documented > --- > docs/InternalsManual.rst | 23 +++++++++++++++++------ > 1 file changed, 17 insertions(+), 6 deletions(-) > > diff --git a/docs/InternalsManual.rst b/docs/InternalsManual.rst > index 59dd2f9..6f55702 100644 > --- a/docs/InternalsManual.rst > +++ b/docs/InternalsManual.rst > @@ -950,17 +950,13 @@ functions, Objective-C methods, C++ constructors, > destructors, and operators > ``DeclarationName`` is designed to efficiently represent any kind of name. > > Given a ``DeclarationName`` ``N``, ``N.getNameKind()`` will produce a value > -that describes what kind of name ``N`` stores. There are 8 options (all of > the > -names are inside the ``DeclarationName`` class). > +that describes what kind of name ``N`` stores. There are 10 options (all of > +the names are inside the ``DeclarationName`` class). > > ``Identifier`` > > The name is a simple identifier. Use ``N.getAsIdentifierInfo()`` to > retrieve > the corresponding ``IdentifierInfo*`` pointing to the actual identifier. > - Note that C++ overloaded operators (e.g., "``operator+``") are represented > as > - special kinds of identifiers. Use ``IdentifierInfo``'s > - ``getOverloadedOperatorID`` function to determine whether an identifier is > an > - overloaded operator name. > > ``ObjCZeroArgSelector``, ``ObjCOneArgSelector``, ``ObjCMultiArgSelector`` > > @@ -999,6 +995,21 @@ names are inside the ``DeclarationName`` class). > Use ``N.getCXXOverloadedOperator()`` to retrieve the overloaded operator (a > value of type ``OverloadedOperatorKind``). > > +``CXXLiteralOperatorName`` > + > + The name is a C++11 user defined literal operator. User defined > + Literal operators are named according to the suffix they define, > + e.g., "``_foo``" for "``operator "" _foo``". Use > + ``N.getCXXLiteralIdentifier()`` to retrieve the corresponding > + ``IdentifierInfo*`` pointing to the identifier. > + > +``CXXUsingDirective`` > + > + The name is a C++ using directive. Using directives are not really > + NamedDecls, in that they all have the same name, but they are > + implemented as such in order to store them in DeclContext > + effectively. > + > ``DeclarationName``\ s are cheap to create, copy, and compare. They require > only a single pointer's worth of storage in the common cases (identifiers, > zero- and one-argument Objective-C selectors) and use dense, uniqued storage _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
