Change getBaseName to return DeclBaseName instead of Identifier (#9968)

This changes `getBaseName()` on `DeclName` to return a `DeclBaseName`
instead of an `Identifier`. All places that will continue to be
expecting an `Identifier` are changed to call `getBaseIdentifier` which
will later assert that the `DeclName` is actually backed by an
identifier and not a special name.

For transitional purposes, a conversion operator from `DeclBaseName` to
`Identifier` has been added that will be removed again once migration
to DeclBaseName has been completed in other parts of the compiler.

Unify approach to printing declaration names

Printing a declaration's name using `<<` and `getBaseName()` is be
independent of the return type of `getBaseName()` which will change in
the future from `Identifier` to `DeclBaseName`
This commit is contained in:
Jordan Rose
2017-05-28 17:55:03 -07:00
committed by GitHub
parent f302afc97f
commit c0ccdb1626
29 changed files with 125 additions and 95 deletions

View File

@@ -2791,7 +2791,7 @@ public:
// Base name
addLeadingDot(Builder);
Builder.addTextChunk(AFD->getFullName().getBaseName().str());
Builder.addTextChunk(AFD->getBaseName().getIdentifier().str());
// Add the argument labels.
auto ArgLabels = AFD->getFullName().getArgumentNames();