diff options
author | Bill Wendling <morbo@google.com> | 2023-02-07 10:01:44 -0800 |
---|---|---|
committer | Bill Wendling <morbo@google.com> | 2023-02-07 12:59:17 -0800 |
commit | 3c07db5f58e9852f35202f0fffed50fc7506f37b (patch) | |
tree | 2d31475458871bac59e1b3b3d90fdfdf773dc4e8 /clang/lib/Sema/SemaCodeComplete.cpp | |
parent | 9fdff5415c6642ecd29ac7696ea7de56d2a822c9 (diff) | |
download | llvm-3c07db5f58e9852f35202f0fffed50fc7506f37b.zip llvm-3c07db5f58e9852f35202f0fffed50fc7506f37b.tar.gz llvm-3c07db5f58e9852f35202f0fffed50fc7506f37b.tar.bz2 |
[Clang] Refactor "Designators" into a unified implementation [NFC]
The interfaces for designators (i.e. C99 designated initializers) was
done in two slightly different ways. This was rather wasteful as the
differences could be combined into one.
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D140584
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
-rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 144bbe1..d5f906b 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -15,6 +15,7 @@ #include "clang/AST/DeclCXX.h" #include "clang/AST/DeclObjC.h" #include "clang/AST/DeclTemplate.h" +#include "clang/AST/Designator.h" #include "clang/AST/Expr.h" #include "clang/AST/ExprCXX.h" #include "clang/AST/ExprConcepts.h" @@ -32,7 +33,6 @@ #include "clang/Lex/Preprocessor.h" #include "clang/Sema/CodeCompleteConsumer.h" #include "clang/Sema/DeclSpec.h" -#include "clang/Sema/Designator.h" #include "clang/Sema/Lookup.h" #include "clang/Sema/Overload.h" #include "clang/Sema/ParsedAttr.h" @@ -6217,7 +6217,7 @@ getNextAggregateIndexAfterDesignatedInit(const ResultCandidate &Aggregate, // Look for designated initializers. // They're in their syntactic form, not yet resolved to fields. - IdentifierInfo *DesignatedFieldName = nullptr; + const IdentifierInfo *DesignatedFieldName = nullptr; unsigned ArgsAfterDesignator = 0; for (const Expr *Arg : Args) { if (const auto *DIE = dyn_cast<DesignatedInitExpr>(Arg)) { @@ -6423,7 +6423,7 @@ static QualType getDesignatedType(QualType BaseType, const Designation &Desig) { assert(D.isFieldDesignator()); auto *RD = getAsRecordDecl(BaseType); if (RD && RD->isCompleteDefinition()) { - for (const auto *Member : RD->lookup(D.getField())) + for (const auto *Member : RD->lookup(D.getFieldName())) if (const FieldDecl *FD = llvm::dyn_cast<FieldDecl>(Member)) { NextType = FD->getType(); break; |