Lines Matching defs:Info
3803 static bool CollectFieldInitializer(Sema &SemaRef, BaseAndFieldInfo &Info,
3811 Info.AllBaseFields.lookup(Field->getCanonicalDecl()))
3812 return Info.addFieldInitializer(Init);
3826 if (Info.isWithinInactiveUnionMember(Field, Indirect))
3829 if (Field->hasInClassInitializer() && !Info.isImplicitCopyOrMove()) {
3831 SemaRef.BuildCXXDefaultInitExpr(Info.Ctor->getLocation(), Field);
3843 return Info.addFieldInitializer(Init);
3853 if (Info.AnyErrorsInInits)
3857 if (BuildImplicitMemberInitializer(Info.S, Info.Ctor, Info.IIK, Field,
3864 return Info.addFieldInitializer(Init);
3910 BaseAndFieldInfo Info(*this, Constructor, AnyErrors);
3924 Info.AllBaseFields[Member->getBaseClass()->getAs<RecordType>()] = Member;
3926 Info.AllBaseFields[Member->getAnyMember()->getCanonicalDecl()] = Member;
3932 Info.ActiveUnionMember.insert(std::make_pair(
3937 Info.ActiveUnionMember.insert(std::make_pair(
3953 = Info.AllBaseFields.lookup(VBase.getType()->getAs<RecordType>())) {
3966 Info.AllToInit.push_back(Value);
3974 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK,
3981 Info.AllToInit.push_back(CXXBaseInit);
3992 = Info.AllBaseFields.lookup(Base.getType()->getAs<RecordType>())) {
3993 Info.AllToInit.push_back(Value);
3996 if (BuildImplicitBaseInitializer(*this, Constructor, Info.IIK,
4003 Info.AllToInit.push_back(CXXBaseInit);
4020 if (F->isAnonymousStructOrUnion() && !Info.isImplicitCopyOrMove())
4023 if (CollectFieldInitializer(*this, Info, F))
4029 if (Info.isImplicitCopyOrMove())
4040 if (CollectFieldInitializer(*this, Info, F->getAnonField(), F))
4047 unsigned NumInitializers = Info.AllToInit.size();
4052 memcpy(baseOrMemberInitializers, Info.AllToInit.data(),
4575 AbstractUsageInfo &Info;
4578 CheckAbstractUsage(AbstractUsageInfo &Info, const NamedDecl *Ctx)
4579 : Info(Info), Ctx(Ctx) {}
4644 T = Info.S.Context.getBaseElementType(T);
4647 if (CT != Info.AbstractType) return;
4651 Info.S.Diag(Ctx->getLocation(), diag::err_array_of_abstract_type)
4654 Info.S.Diag(Ctx->getLocation(), diag::err_abstract_type_in_decl)
4657 Info.DiagnoseAbstractType();
4669 static void CheckAbstractClassUsage(AbstractUsageInfo &Info,
4680 Info.CheckType(MD, TSI->getTypeLoc(), Sema::AbstractNone);
4684 static void CheckAbstractClassUsage(AbstractUsageInfo &Info,
4691 CheckAbstractClassUsage(Info, cast<CXXMethodDecl>(D));
4694 CheckAbstractClassUsage(Info, cast<CXXMethodDecl>(FD));
4700 Info.CheckType(FD, TSI->getTypeLoc(), Sema::AbstractFieldType);
4704 Info.CheckType(VD, TSI->getTypeLoc(), Sema::AbstractVariableType);
4708 CheckAbstractClassUsage(Info, cast<CXXRecordDecl>(D));
4710 CheckAbstractClassUsage(Info,
4859 AbstractUsageInfo Info(*this, Record);
4860 CheckAbstractClassUsage(Info, Record);
8390 // but we don't have that level of source info.
9172 // Build type source info pointing at the using-declaration. This is
9491 // the only thing of interest in the destructor type is its extended info.
13576 // FIXME: Preserve type source info.