diff options
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
-rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 6bda0b4bf33..1fbdf532fe9 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -4241,9 +4241,9 @@ void Sema::CodeCompleteOperatorName(Scope *S) { Results.data(),Results.size()); } -void Sema::CodeCompleteConstructorInitializer(Decl *ConstructorD, - CXXCtorInitializer** Initializers, - unsigned NumInitializers) { +void Sema::CodeCompleteConstructorInitializer( + Decl *ConstructorD, + ArrayRef <CXXCtorInitializer *> Initializers) { PrintingPolicy Policy = getCompletionPrintingPolicy(*this); CXXConstructorDecl *Constructor = static_cast<CXXConstructorDecl *>(ConstructorD); @@ -4258,7 +4258,7 @@ void Sema::CodeCompleteConstructorInitializer(Decl *ConstructorD, // Fill in any already-initialized fields or base classes. llvm::SmallPtrSet<FieldDecl *, 4> InitializedFields; llvm::SmallPtrSet<CanQualType, 4> InitializedBases; - for (unsigned I = 0; I != NumInitializers; ++I) { + for (unsigned I = 0, E = Initializers.size(); I != E; ++I) { if (Initializers[I]->isBaseInitializer()) InitializedBases.insert( Context.getCanonicalType(QualType(Initializers[I]->getBaseClass(), 0))); @@ -4270,17 +4270,17 @@ void Sema::CodeCompleteConstructorInitializer(Decl *ConstructorD, // Add completions for base classes. CodeCompletionBuilder Builder(Results.getAllocator(), Results.getCodeCompletionTUInfo()); - bool SawLastInitializer = (NumInitializers == 0); + bool SawLastInitializer = Initializers.empty(); CXXRecordDecl *ClassDecl = Constructor->getParent(); for (CXXRecordDecl::base_class_iterator Base = ClassDecl->bases_begin(), BaseEnd = ClassDecl->bases_end(); Base != BaseEnd; ++Base) { if (!InitializedBases.insert(Context.getCanonicalType(Base->getType()))) { SawLastInitializer - = NumInitializers > 0 && - Initializers[NumInitializers - 1]->isBaseInitializer() && + = !Initializers.empty() && + Initializers.back()->isBaseInitializer() && Context.hasSameUnqualifiedType(Base->getType(), - QualType(Initializers[NumInitializers - 1]->getBaseClass(), 0)); + QualType(Initializers.back()->getBaseClass(), 0)); continue; } @@ -4302,10 +4302,10 @@ void Sema::CodeCompleteConstructorInitializer(Decl *ConstructorD, Base != BaseEnd; ++Base) { if (!InitializedBases.insert(Context.getCanonicalType(Base->getType()))) { SawLastInitializer - = NumInitializers > 0 && - Initializers[NumInitializers - 1]->isBaseInitializer() && + = !Initializers.empty() && + Initializers.back()->isBaseInitializer() && Context.hasSameUnqualifiedType(Base->getType(), - QualType(Initializers[NumInitializers - 1]->getBaseClass(), 0)); + QualType(Initializers.back()->getBaseClass(), 0)); continue; } @@ -4327,9 +4327,9 @@ void Sema::CodeCompleteConstructorInitializer(Decl *ConstructorD, Field != FieldEnd; ++Field) { if (!InitializedFields.insert(cast<FieldDecl>(Field->getCanonicalDecl()))) { SawLastInitializer - = NumInitializers > 0 && - Initializers[NumInitializers - 1]->isAnyMemberInitializer() && - Initializers[NumInitializers - 1]->getAnyMember() == *Field; + = !Initializers.empty() && + Initializers.back()->isAnyMemberInitializer() && + Initializers.back()->getAnyMember() == *Field; continue; } |