Lines Matching full:reader

85     ASTReader &Reader;
176 static NamedDecl *getAnonymousDeclForMerging(ASTReader &Reader,
179 static void setAnonymousDeclForMerging(ASTReader &Reader, DeclContext *DC,
186 static CXXRecordDecl *getOrFakePrimaryClassDefinition(ASTReader &Reader,
216 ASTReader &Reader;
224 FindExistingResult(ASTReader &Reader) : Reader(Reader) {}
226 FindExistingResult(ASTReader &Reader, NamedDecl *New, NamedDecl *Existing,
229 : Reader(Reader), New(New), Existing(Existing), AddResult(true),
234 : Reader(Other.Reader), New(Other.New), Existing(Other.Existing),
254 static DeclContext *getPrimaryContextForMerging(ASTReader &Reader,
259 ASTDeclReader(ASTReader &Reader, ASTRecordReader &Record,
262 : Reader(Reader), Record(Record), Loc(Loc), ThisDeclID(thisDeclID),
295 static void mergeInheritableAttributes(ASTReader &Reader, Decl *D,
299 static void attachPreviousDeclImpl(ASTReader &Reader,
302 static void attachPreviousDeclImpl(ASTReader &Reader, ...);
303 static void attachPreviousDecl(ASTReader &Reader, Decl *D, Decl *Previous,
528 Reader.DefinitionSource[FD] =
530 Reader.getContext().getLangOpts().BuildingPCHWithObjectFile;
538 Reader.PendingBodies[FD] = GetCurrentCursorOffset();
556 TD->setTypeForDecl(Reader.GetType(DeferredTypeID).getTypePtrOrNull());
562 cast<TypedefNameDecl>(Reader.GetDecl(NamedDeclForTagDecl));
565 ID->TypeForDecl = Reader.GetType(DeferredTypeID).getTypePtrOrNull();
607 Reader.addPendingDeclContextInfo(D,
610 D->setDeclContext(Reader.getContext().getTranslationUnitDecl());
621 MergedSemaDC = getOrFakePrimaryClassDefinition(Reader, RD);
623 MergedSemaDC = Reader.MergedDeclContexts.lookup(SemaDC);
627 Reader.getContext());
636 D->setAttrsImpl(Attrs, Reader.getContext());
662 } else if (Reader.getContext().getLangOpts().ModulesLocalVisibility) {
665 } else if (Module *Owner = Reader.getSubmodule(SubmoduleID)) {
670 Reader.HiddenNamesMap[Owner].push_back(D);
768 auto *Info = new (Reader.getContext()) TagDecl::ExtInfo();
806 if (ED->isCompleteDefinition() && Reader.getContext().getLangOpts().Modules) {
807 EnumDecl *&OldDef = Reader.EnumDefinitions[ED->getCanonicalDecl()];
819 Reader.MergedDeclContexts.insert(std::make_pair(ED, OldDef));
821 Reader.mergeDefinitionVisibility(OldDef, ED);
826 Reader.PendingEnumOdrMergeFailures[OldDef].push_back(ED);
835 ED->setInstantiationOfMemberEnum(Reader.getContext(), InstED, TSK);
870 RecordDecl *&OldDef = Reader.RecordDefinitions[Canon];
882 Reader.MergedDeclContexts.insert(std::make_pair(RD, OldDef));
884 Reader.mergeDefinitionVisibility(OldDef, RD);
886 Reader.PendingRecordOdrMergeFailures[OldDef].push_back(RD);
908 ECD->setInitVal(Reader.getContext(), Record.readAPSInt());
916 auto *Info = new (Reader.getContext()) DeclaratorDecl::ExtInfo();
924 : Reader.getContext().CreateTypeSourceInfo(TSIType));
948 FD->setInstantiationOfMemberFunction(Reader.getContext(), InstFD, TSK);
968 ASTContext &C = Reader.getContext();
1007 assert(Reader.getContext().getLangOpts().Modules &&
1028 Reader.getContext(), Candidates,
1048 Reader.PendingDeducedFunctionTypes.push_back({FD, DeferredTypeID});
1050 FD->setType(Reader.GetType(DeferredTypeID));
1114 Reader.getContext(), Lookups, DeletedMessage));
1151 FD->setParams(Reader.getContext(), Params);
1159 Reader.PendingBodies[MD] = GetCurrentCursorOffset();
1174 Reader.getContext().setObjCMethodRedeclaration(MD,
1197 MD->setParamsAndSelLocs(Reader.getContext(), Params, SelLocs);
1233 return ObjCTypeParamList::create(Reader.getContext(), lAngleLoc,
1258 Reader.getContext());
1267 Reader.getContext());
1276 Reader.MergedDeclContexts.insert(
1278 Reader.mergeDefinitionVisibility(DD.Definition, NewDD.Definition);
1281 Reader.PendingObjCInterfaceOdrMergeFailures[DD.Definition].push_back(
1313 Reader.PendingDefinitions.insert(ID);
1316 Reader.ObjCClassesLoaded.push_back(ID);
1349 Reader
1357 Reader.Diag(IVD->getLocation(), diag::err_duplicate_ivar_declaration)
1359 Reader.Diag(PrevIvar->getLocation(), diag::note_previous_definition);
1376 ProtoLocs.data(), Reader.getContext());
1387 Reader.MergedDeclContexts.insert(
1389 Reader.mergeDefinitionVisibility(DD.Definition, NewDD.Definition);
1392 Reader.PendingObjCProtocolOdrMergeFailures[DD.Definition].push_back(
1419 Reader.PendingDefinitions.insert(PD);
1438 Reader.CategoriesDeserialized.insert(CD);
1452 Reader.getContext());
1458 Reader.getContext());
1538 Reader.getContext().setInstantiatedFromUnnamedFieldDecl(FD, Tmpl);
1558 if (MSGuidDecl *Existing = Reader.getContext().MSGuidDecls.GetOrInsertNode(D))
1559 Reader.getContext().setPrimaryMergedDecl(D, Existing->getCanonicalDecl());
1569 Reader.getContext().UnnamedGlobalConstantDecls.GetOrInsertNode(D))
1570 Reader.getContext().setPrimaryMergedDecl(D, Existing->getCanonicalDecl());
1580 Reader.getContext().TemplateParamObjectDecls.GetOrInsertNode(D))
1581 Reader.getContext().setPrimaryMergedDecl(D, Existing->getCanonicalDecl());
1589 FD->Chaining = new (Reader.getContext())NamedDecl*[FD->ChainingSize];
1635 Reader.PendingDeducedVarTypes.push_back({VD, DeferredTypeID});
1637 VD->setType(Reader.GetType(DeferredTypeID));
1648 Reader.DefinitionSource[VD] =
1650 Reader.getContext().getLangOpts().BuildingPCHWithObjectFile;
1656 Reader.getContext().setBlockVarCopyInit(VD, CopyExpr, Record.readInt());
1678 Reader.getContext().setInstantiatedFromStaticDataMember(VD, Tmpl, TSK,POI);
1696 Reader.getContext().addDestruction(&Eval->Evaluated);
1793 BD->setCaptures(Reader.getContext(), captures, capturesCXXThis);
1850 auto *Anon = cast<NamespaceDecl>(Reader.GetDecl(AnonNamespace));
1883 Reader.getContext().setInstantiatedFromUsingDecl(D, Pattern);
1894 Reader.getContext().setInstantiatedFromUsingEnumDecl(D, Pattern);
1915 Reader.getContext().setInstantiatedFromUsingShadowDecl(D, Pattern);
1978 Reader.DefinitionSource[D] =
1980 Reader.getContext().getLangOpts().BuildingPCHWithObjectFile;
2017 Reader.getContext().DeviceLambdaManglingNumbers[D] = DeviceManglingNumber;
2022 ToCapture = (Capture *)Reader.getContext().Allocate(sizeof(Capture) *
2024 Lambda.AddCaptureList(Reader.getContext(), ToCapture);
2061 Reader.MergedDeclContexts.insert(std::make_pair(MergeDD.Definition,
2063 Reader.PendingDefinitions.erase(MergeDD.Definition);
2065 Reader.mergeDefinitionVisibility(DD.Definition, MergeDD.Definition);
2066 assert(!Reader.Lookups.contains(MergeDD.Definition) &&
2070 auto PFDI = Reader.PendingFakeDefinitionData.find(&DD);
2071 if (PFDI != Reader.PendingFakeDefinitionData.end() &&
2132 Lambda1.AddCaptureList(Reader.getContext(), Lambda2.Captures.front());
2145 Reader.PendingOdrMergeFailures[DD.Definition].push_back(
2153 ASTContext &C = Reader.getContext();
2190 Reader.PendingDefinitions.insert(D);
2197 ASTContext &C = Reader.getContext();
2288 Reader.getContext().addOverriddenMethod(D, MD->getCanonicalDecl());
2363 D->Params = new (Reader.getContext()) TemplateParameterList *[NumParams];
2409 CanonD->Common = CanonD->newCommon(Reader.getContext());
2410 Reader.PendingDefinitions.insert(CanonD);
2448 Reader.getContext().getInjectedClassNameType(
2478 ASTContext &C = Reader.getContext();
2583 ASTContext &C = Reader.getContext();
2681 D->setDefaultArgument(Reader.getContext(),
2703 D->setDefaultArgument(Reader.getContext(),
2723 D->setDefaultArgument(Reader.getContext(),
2803 auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
2820 Reader.PendingDeclChains.push_back(std::make_pair(DAsT, RedeclOffset));
2831 if (!Reader.getContext().getLangOpts().Modules)
2862 if (!Reader.getContext().getLangOpts().Modules)
2875 NamedDecl *&Slot = Reader.LambdaDeclarationsForMerging[{
2923 Reader.PendingDefinitions.insert(DClass);
2967 Reader.KeyDecls[ExistingCanon].push_back(Redecl.getFirstID());
2989 if (!Reader.getContext().getLangOpts().Modules)
2995 Reader.LETemporaryForMerging[std::make_pair(
2998 Reader.getContext().setPrimaryMergedDecl(LETDecl,
3011 if (!Reader.getContext().getLangOpts().Modules)
3018 if (!Reader.getContext().getLangOpts().CPlusPlus &&
3024 Reader.getContext().setPrimaryMergedDecl(static_cast<T *>(D),
3077 ASTRecordReader &Reader;
3080 AttrReader(ASTRecordReader &Reader) : Reader(Reader) {}
3083 return Reader.readInt();
3086 bool readBool() { return Reader.readBool(); }
3089 return Reader.readSourceRange();
3093 return Reader.readSourceLocation();
3096 Expr *readExpr() { return Reader.readExpr(); }
3098 Attr *readAttr() { return Reader.readAttr(); }
3101 return Reader.readString();
3105 return Reader.readTypeSourceInfo();
3109 return Reader.readIdentifier();
3113 return Reader.readVersionTuple();
3116 OMPTraitInfo *readOMPTraitInfo() { return Reader.readOMPTraitInfo(); }
3118 template <typename T> T *readDeclAs() { return Reader.readDeclAs<T>(); }
3241 ASTDeclReader::getOrFakePrimaryClassDefinition(ASTReader &Reader,
3253 DD = new (Reader.getContext()) struct CXXRecordDecl::DefinitionData(RD);
3259 Reader.PendingFakeDefinitionData.insert(
3268 DeclContext *ASTDeclReader::getPrimaryContextForMerging(ASTReader &Reader,
3274 return getOrFakePrimaryClassDefinition(Reader, RD);
3298 Reader.ImportedTypedefNamesForLinkage.insert(
3309 setAnonymousDeclForMerging(Reader, New->getLexicalDeclContext(),
3312 !Reader.getContext().getLangOpts().CPlusPlus) {
3313 if (Reader.getIdResolver().tryAddTopLevelDecl(New, Name))
3314 Reader.PendingFakeLookupResults[Name.getAsIdentifierInfo()]
3316 } else if (DeclContext *MergeDC = getPrimaryContextForMerging(Reader, DC)) {
3375 NamedDecl *ASTDeclReader::getAnonymousDeclForMerging(ASTReader &Reader,
3383 auto &Previous = Reader.AnonymousDeclarationsForMerging[CanonDC];
3402 void ASTDeclReader::setAnonymousDeclForMerging(ASTReader &Reader,
3407 auto &Previous = Reader.AnonymousDeclarationsForMerging[CanonDC];
3421 FindExistingResult Result(Reader, D, /*Existing=*/nullptr,
3427 ASTContext &C = Reader.getContext();
3430 auto It = Reader.ImportedTypedefNamesForLinkage.find(
3432 if (It != Reader.ImportedTypedefNamesForLinkage.end())
3434 return FindExistingResult(Reader, D, It->second, AnonymousDeclNumber,
3444 Reader, D->getLexicalDeclContext(), AnonymousDeclNumber))
3446 return FindExistingResult(Reader, D, Existing, AnonymousDeclNumber,
3449 !Reader.getContext().getLangOpts().CPlusPlus) {
3450 IdentifierResolver &IdResolver = Reader.getIdResolver();
3478 return FindExistingResult(Reader, D, Existing, AnonymousDeclNumber,
3481 } else if (DeclContext *MergeDC = getPrimaryContextForMerging(Reader, DC)) {
3486 return FindExistingResult(Reader, D, Existing, AnonymousDeclNumber,
3491 return FindExistingResult(Reader);
3502 auto MergedDCIt = Reader.MergedDeclContexts.find(D->getLexicalDeclContext());
3503 if (MergedDCIt != Reader.MergedDeclContexts.end() &&
3505 Reader.PendingOdrMergeChecks.push_back(D);
3507 return FindExistingResult(Reader, D, /*Existing=*/nullptr,
3537 void ASTDeclReader::mergeInheritableAttributes(ASTReader &Reader, Decl *D,
3540 ASTContext &Context = Reader.getContext();
3558 void ASTDeclReader::attachPreviousDeclImpl(ASTReader &Reader,
3568 void ASTDeclReader::attachPreviousDeclImpl(ASTReader &Reader,
3582 Reader.mergeDefinitionVisibility(CurD, VD);
3596 void ASTDeclReader::attachPreviousDeclImpl(ASTReader &Reader,
3635 Reader.PendingExceptionSpecUpdates.insert(
3643 Reader.PendingDeducedTypeUpdates.insert(
3651 void ASTDeclReader::attachPreviousDeclImpl(ASTReader &Reader, ...) {
3691 static void checkMultipleDefinitionInNamedModules(ASTReader &Reader, Decl *D,
3727 if (Reader.getContext().isInSameModule(M, D->getOwningModule()))
3730 Reader.Diag(Previous->getLocation(),
3733 Reader.Diag(D->getLocation(), diag::note_also_found);
3736 void ASTDeclReader::attachPreviousDecl(ASTReader &Reader, Decl *D,
3744 attachPreviousDeclImpl(Reader, cast<TYPE##Decl>(D), Previous, Canon); \
3749 checkMultipleDefinitionInNamedModules(Reader, D, Previous);
3763 inheritDefaultTemplateArguments(Reader.getContext(),
3770 mergeInheritableAttributes(Reader, D, Previous);
3837 ASTDeclReader Reader(*this, Record, Loc, ID, DeclLoc);
4155 [&] { Reader.Visit(D); });
4160 std::pair<uint64_t, uint64_t> Offsets = Reader.VisitDeclContext(DC);
4300 ASTDeclReader Reader(*this, Record, RecordLocation(F, Offset), ID,
4302 Reader.UpdateDecl(D, PendingLazySpecializationIDs);
4334 reader::ASTDeclContextNameLookupTrait(*this, *Update.Mod));
4397 ASTReader &Reader;
4413 if (Existing && Reader.getOwningModuleFile(Existing) !=
4414 Reader.getOwningModuleFile(Cat)) {
4424 Reader.Diag(Cat->getLocation(), diag::warn_dup_category_def)
4426 Reader.Diag(Existing->getLocation(),
4445 ASTReader &Reader, ObjCInterfaceDecl *Interface,
4448 : Reader(Reader), Interface(Interface), Deserialized(Deserialized),
4470 Reader.mapGlobalIDToModuleFileGlobalID(M, InterfaceID);
4486 return Reader.isDeclIDFromModule(InterfaceID, M);
4494 add(Reader.ReadDeclAs<ObjCCategoryDecl>(M, M.ObjCCategories, Offset));
4538 Reader.PendingAddedClassMembers.push_back({RD, MD});
4624 if (Reader.PendingBodies[FD]) {
4649 !Reader.PendingFakeDefinitionData.count(OldDD));
4659 Reader.PendingFakeDefinitionData.erase(OldDD);
4679 Reader.getContext(), TemplArgs);
4700 D->setAttrsImpl(Attrs, Reader.getContext());
4729 FD->setType(Reader.getContext().getFunctionType(
4735 Reader.PendingExceptionSpecUpdates.insert(
4744 Reader.PendingDeducedTypeUpdates.insert(
4751 D->markUsed(Reader.getContext());
4755 Reader.getContext().setManglingNumber(cast<NamedDecl>(D),
4760 Reader.getContext().setStaticLocalNumber(cast<VarDecl>(D),
4765 D->addAttr(OMPThreadPrivateDeclAttr::CreateImplicit(Reader.getContext(),
4776 Reader.getContext(), AllocatorKind, Allocator, Alignment, SR));
4783 Module *Owner = SubmoduleID ? Reader.getSubmodule(SubmoduleID) : nullptr;
4784 Reader.getContext().mergeDefinitionIntoModule(Exported, Owner);
4785 Reader.PendingMergedDefinitionsToDeduplicate.insert(Exported);
4796 Reader.getContext(), MapType, DevType, IndirectE, Indirect, Level,