Sean Silva <[email protected]> writes: > One patch per bullet point in the original patch's commit message seems to be > the most logical thing to me.
Changing the number of declarations from 8 to 10 separately from documenting the two new ones seems odd. Here are the patches I'm planning to commit.
>From c0dd1ef45bdba7deb03b1ed7bf6a04d29d2e0089 Mon Sep 17 00:00:00 2001 From: Justin Bogner <[email protected]> Date: Thu, 26 Sep 2013 21:31:19 -0700 Subject: [PATCH 1/2] docs: Remove note about Identifiers being used for C++ operators C++ operators are represented by CXXOperatorName now, which is already documented. --- docs/InternalsManual.rst | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/InternalsManual.rst b/docs/InternalsManual.rst index 59dd2f9..2e130c3 100644 --- a/docs/InternalsManual.rst +++ b/docs/InternalsManual.rst @@ -957,10 +957,6 @@ names are inside the ``DeclarationName`` class). 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`` -- 1.8.3.4 (Apple Git-47)
>From da31cec1f54e676ebfad1cd11c5b4ac59cddce88 Mon Sep 17 00:00:00 2001 From: Justin Bogner <[email protected]> Date: Thu, 26 Sep 2013 21:35:28 -0700 Subject: [PATCH 2/2] docs: Document CXXLiteralOperatorName and CXXUsingDirective --- docs/InternalsManual.rst | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/InternalsManual.rst b/docs/InternalsManual.rst index 2e130c3..6f55702 100644 --- a/docs/InternalsManual.rst +++ b/docs/InternalsManual.rst @@ -950,8 +950,8 @@ 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`` @@ -995,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 -- 1.8.3.4 (Apple Git-47)
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
