Lines Matching defs:Context

37 static bool IsWideCharCompatible(QualType T, ASTContext &Context) {
38 if (Context.typesAreCompatible(Context.getWideCharType(), T))
40 if (Context.getLangOpts().CPlusPlus || Context.getLangOpts().C11) {
41 return Context.typesAreCompatible(Context.Char16Ty, T) ||
42 Context.typesAreCompatible(Context.Char32Ty, T);
60 ASTContext &Context) {
77 Context.getCanonicalType(AT->getElementType()).getUnqualifiedType();
86 if (IsWideCharCompatible(ElemTy, Context))
95 if (Context.typesAreCompatible(Context.Char16Ty, ElemTy))
99 if (IsWideCharCompatible(ElemTy, Context))
103 if (Context.typesAreCompatible(Context.Char32Ty, ElemTy))
107 if (IsWideCharCompatible(ElemTy, Context))
111 if (Context.typesAreCompatible(Context.getWideCharType(), ElemTy))
115 if (IsWideCharCompatible(ElemTy, Context))
124 ASTContext &Context) {
125 const ArrayType *arrayType = Context.getAsArrayType(declType);
128 return IsStringInit(init, arrayType, Context);
161 DeclT = S.Context.getConstantArrayType(IAT->getElementType(),
362 Expr *DIE = CXXDefaultInitExpr::Create(SemaRef.Context,
367 ILE->updateInit(SemaRef.Context, Init, DIE);
415 ILE->updateInit(SemaRef.Context, Init, MemberInit.takeAs<Expr>());
431 assert((ILE->getType() != SemaRef.Context.VoidTy) &&
483 if (const ArrayType *AType = SemaRef.Context.getAsArrayType(ILE->getType())) {
487 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context,
492 ElementEntity = InitializedEntity::InitializeElement(SemaRef.Context,
546 ILE->updateInit(SemaRef.Context, Init, ElementInit.takeAs<Expr>());
581 SemaRef.Context.getAsConstantArrayType(DeclType)) {
696 ExprTy = ExprTy.getNonLValueExprType(SemaRef.Context);
715 IsStringInit(StructuredList->getInit(0), T, SemaRef.Context) ==
788 SemaRef.Context.getTypeSize(SemaRef.Context.getSizeType()),
853 if (const ArrayType *arrayType = SemaRef.Context.getAsArrayType(ElemType)) {
858 if (IsStringInit(expr, arrayType, SemaRef.Context) == SIF_None) {
978 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1129 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity));
1171 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1189 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
1210 VecType = SemaRef.Context.getExtVectorType(elementType, numIElts);
1212 VecType = SemaRef.Context.getVectorType(elementType, numIElts,
1237 const ArrayType *arrayType = SemaRef.Context.getAsArrayType(DeclType);
1241 if (IsStringInit(IList->getInit(Index), arrayType, SemaRef.Context) ==
1252 StructuredList->resizeInits(SemaRef.Context, StructuredIndex);
1323 InitializedEntity::InitializeElement(SemaRef.Context, StructuredIndex,
1346 DeclType = SemaRef.Context.getConstantArrayType(elementType, maxElements,
1355 SemaRef.Context, 0, Entity));
1608 DIE->ExpandDesignator(SemaRef.Context, DesigIdx, &Replacements[0],
1636 return DesignatedInitExpr::Create(SemaRef.Context, DIE->designators_begin(),
1888 StructuredList->resizeInits(SemaRef.Context, 0);
1914 StructuredList->resizeInits(SemaRef.Context, FieldIndex + 1);
2037 const ArrayType *AT = SemaRef.Context.getAsArrayType(CurrentObjectType);
2050 DesignatedStartIndex = IndexExpr->EvaluateKnownConstInt(SemaRef.Context);
2056 DIE->getArrayRangeStart(*D)->EvaluateKnownConstInt(SemaRef.Context);
2058 DIE->getArrayRangeEnd(*D)->EvaluateKnownConstInt(SemaRef.Context);
2067 DIE->getInit()->HasSideEffects(SemaRef.Context) && !VerifyOnly)
2104 ASTContext &Context = SemaRef.Context;
2113 PromotedCharTy = Context.getPromotedIntegerType(CharTy);
2114 unsigned PromotedCharTyWidth = Context.getTypeSize(PromotedCharTy);
2121 StructuredList->resizeInits(Context, StrLen);
2127 Expr *Init = new (Context) IntegerLiteral(
2128 Context, CodeUnit, PromotedCharTy, SubExpr->getExprLoc());
2130 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast,
2132 StructuredList->updateInit(Context, i, Init);
2137 Context.getObjCEncodingForType(E->getEncodedType(), Str);
2143 StructuredList->resizeInits(Context, StrLen);
2149 Expr *Init = new (Context) IntegerLiteral(
2150 Context, CodeUnit, PromotedCharTy, SubExpr->getExprLoc());
2152 Init = ImplicitCastExpr::Create(Context, CharTy, CK_IntegralCast,
2154 StructuredList->updateInit(Context, i, Init);
2163 StructuredList->resizeInits(SemaRef.Context,
2174 InitializedEntity::InitializeElement(SemaRef.Context, 0, Entity);
2255 = new (SemaRef.Context) InitListExpr(SemaRef.Context,
2261 ResultType = ResultType.getNonLValueExprType(SemaRef.Context);
2279 = SemaRef.Context.getAsArrayType(CurrentObjectType)) {
2298 Result->reserveInits(SemaRef.Context, NumElements);
2303 StructuredList->updateInit(SemaRef.Context, StructuredIndex, Result);
2321 if (Expr *PrevInit = StructuredList->updateInit(SemaRef.Context,
2447 = DesignatedInitExpr::Create(Context,
2463 InitializedEntity::InitializedEntity(ASTContext &Context, unsigned Index,
2467 if (const ArrayType *AT = Context.getAsArrayType(Parent.getType())) {
2482 InitializedEntity::InitializeBase(ASTContext &Context,
2998 QualType ArrayType = S.Context.getConstantArrayType(
2999 E.withConst(), llvm::APInt(S.Context.getTypeSize(S.Context.getSizeType()),
3211 if (S.Context.getCanonicalType(UnqualifiedSourceType) ==
3212 S.Context.OverloadTy) {
3263 QualType T1 = S.Context.getUnqualifiedArrayType(cv1T1, T1Quals);
3275 QualType T2 = S.Context.getUnqualifiedArrayType(cv2T2, T2Quals);
3555 T2.getNonLValueExprType(S.Context),
3571 T2.getNonLValueExprType(S.Context),
3586 S.Context.getQualifiedType(T1,
3591 S.Context.getQualifiedType(T1,
3614 QualType T1 = S.Context.getUnqualifiedArrayType(cv1T1, T1Quals);
3617 QualType T2 = S.Context.getUnqualifiedArrayType(cv2T2, T2Quals);
3700 Expr::Classification InitCategory = Initializer->Classify(S.Context);
3731 S.Context.getQualifiedType(T1, T2Quals),
3735 S.Context.getQualifiedType(T1, T2Quals));
3770 if (S.Context.getCanonicalType(T2) == S.Context.OverloadTy)
3815 Sequence.AddDerivedToBaseCastStep(S.Context.getQualifiedType(T1, T2Quals),
3819 S.Context.getQualifiedType(T1, T2Quals));
3886 else if (S.Context.getCanonicalType(T2) == S.Context.OverloadTy)
3944 T = S.Context.getBaseElementType(T);
4017 QualType DestType = S.Context.getBaseElementType(Entity.getType());
4299 InvalidICRKind iik = isInvalidICRSource(S.Context, src, false, isWeakAccess);
4314 static bool hasCompatibleArrayTypes(ASTContext &Context,
4319 if (Context.hasSameType(QualType(Dest, 0), QualType(Source, 0)))
4323 if (!Context.hasSameType(Dest->getElementType(), Source->getElementType()))
4338 if (const ArrayType *ArgArrayType = S.Context.getAsArrayType(ArgType)) {
4341 ArgType = S.Context.getPointerType(ArgPointee);
4365 ResultType = S.Context.getPointerType(ArgPointee);
4368 ResultType = Initializer->getType().getNonLValueExprType(S.Context);
4425 ASTContext &Context = S.Context;
4508 if (const ArrayType *DestAT = Context.getAsArrayType(DestType)) {
4515 switch (IsStringInit(Initializer, DestAT, Context)) {
4540 = Context.getAsArrayType(Initializer->getType());
4541 if (!hasCompatibleArrayTypes(S.Context, DestAT, SourceAT))
4543 else if (Initializer->HasSideEffects(S.Context))
4559 else if (IsWideCharCompatible(DestAT->getElementType(), Context))
4603 (Context.hasSameUnqualifiedType(SourceType, DestType) ||
4674 } else if (Initializer->getType() == Context.OverloadTy &&
4931 bool Elidable = CurInitExpr->isTemporaryObject(S.Context, Class);
5196 TSInfo = S.Context.getTrivialTypeSourceInfo(Entity.getType(), Loc);
5203 new (S.Context) CXXTemporaryObjectExpr(S.Context, Constructor,
5535 = S.Context.getAsIncompleteArrayType(DeclType)) {
5557 = S.Context.getDependentSizedArrayType(ArrayT->getElementType(),
5600 Expr::LValueClassification Kind = Init->ClassifyLValue(S.Context);
5713 CurInit = S.Owned(ImplicitCastExpr::Create(S.Context,
5782 MaterializeTemporaryExpr *MTE = new (S.Context) MaterializeTemporaryExpr(
5845 QualType Class = S.Context.getTypeDeclType(Constructor->getParent());
5846 if (S.Context.hasSameUnqualifiedType(SourceType, Class) ||
5896 CurInit = S.Owned(ImplicitCastExpr::Create(S.Context,
5924 CurInit = S.Owned(ImplicitCastExpr::Create(S.Context, Step->Type,
5958 bool IsTemporary = !S.Context.hasSameType(Entity.getType(), Ty);
5972 Ty = S.Context.getRValueReferenceType(Ty);
5974 Ty = S.Context.getLValueReferenceType(Ty,
6020 InitListExpr *ILE = new (S.Context) InitListExpr(S.Context,
6063 TSInfo = S.Context.getTrivialTypeSourceInfo(Step->Type,
6066 CurInit = S.Owned(new (S.Context) CXXScalarValueInitExpr(
6067 TSInfo->getType().getNonLValueExprType(S.Context),
6071 CurInit = S.Owned(new (S.Context) ImplicitValueInitExpr(Step->Type));
6113 S.Context.getAsArrayType(Ty), S);
6134 = S.Context.getAsIncompleteArrayType(Step->Type)) {
6136 = S.Context.getAsConstantArrayType(CurInit.get()->getType())) {
6137 *ResultType = S.Context.getConstantArrayType(
6156 CurInit = S.Owned(new (S.Context)
6162 CurInit = S.Owned(ImplicitCastExpr::Create(S.Context, Step->Type,
6182 MaterializeTemporaryExpr *MTE = new (S.Context)
6188 new (S.Context) CXXStdInitializerListExpr(Step->Type, MTE));
6302 QualType ArrayType = S.Context.getConstantArrayType(
6304 llvm::APInt(S.Context.getTypeSize(S.Context.getSizeType()),
6565 << S.Context.getTypeDeclType(Constructor->getParent())
6573 << S.Context.getTagDeclType(BaseDecl);
6578 << S.Context.getTypeDeclType(Constructor->getParent())
6587 << S.Context.getTagDeclType(Record->getDecl());
6639 << S.Context.getTypeDeclType(Constructor->getParent())
6990 switch (SCS->getNarrowingKind(S.Context, PostInit, ConstantValue,