Lines Matching defs:Expr

18 #include "clang/AST/Expr.h"
69 static bool IsStandardConversion(Sema &S, Expr* From, QualType ToType,
75 static bool IsTransparentUnionStandardConversion(Sema &S, Expr* From,
81 IsUserDefinedConversion(Sema &S, Expr *From, QualType ToType,
278 static const Expr *IgnoreNarrowingConversion(const Expr *Converted) {
310 const Expr *Converted,
331 const Expr *Initializer = IgnoreNarrowingConversion(Converted);
364 const Expr *Initializer = IgnoreNarrowingConversion(Converted);
410 const Expr *Initializer = IgnoreNarrowingConversion(Converted);
773 Expr *DeductionFailureInfo::getExpr() {
776 return static_cast<Expr*>(Data);
800 Expr **Addr;
801 Expr *Saved;
806 void save(Sema &S, Expr *&E) {
828 static bool checkPlaceholderForOverload(Sema &S, Expr *&E,
1093 TryUserDefinedConversion(Sema &S, Expr *From, QualType ToType,
1169 /// from the given expression (Expr) to the given type (ToType). This
1196 TryImplicitConversion(Sema &S, Expr *From, QualType ToType,
1249 Sema::TryImplicitConversion(Expr *From, QualType ToType,
1267 Sema::PerformImplicitConversion(Expr *From, QualType ToType,
1274 Sema::PerformImplicitConversion(Expr *From, QualType ToType,
1388 static bool tryAtomicConversion(Sema &S, Expr *From, QualType ToType,
1401 static bool IsStandardConversion(Sema &S, Expr* From, QualType ToType,
1680 IsTransparentUnionStandardConversion(Sema &S, Expr* From,
1708 bool Sema::IsIntegralPromotion(Expr *From, QualType FromType, QualType ToType) {
1952 static bool isNullPointerConstantForConversion(Expr *Expr,
1957 if (Expr->isValueDependent() && !Expr->isTypeDependent() &&
1958 Expr->getType()->isIntegerType() && !Expr->getType()->isEnumeralType())
1961 return Expr->isNullPointerConstant(Context,
1962 InOverloadResolution? Expr::NPC_ValueDependentIsNotNull
1963 : Expr::NPC_ValueDependentIsNull);
1982 bool Sema::IsPointerConversion(Expr *From, QualType FromType, QualType ToType,
2601 bool Sema::CheckPointerConversion(Expr *From, QualType ToType,
2611 From->isNullPointerConstant(Context, Expr::NPC_ValueDependentIsNotNull) ==
2612 Expr::NPCK_ZeroExpression) {
2661 if (From->isNullPointerConstant(Context, Expr::NPC_ValueDependentIsNull))
2672 bool Sema::IsMemberPointerConversion(Expr *From, QualType FromType,
2682 InOverloadResolution? Expr::NPC_ValueDependentIsNotNull
2683 : Expr::NPC_ValueDependentIsNull)) {
2715 bool Sema::CheckMemberPointerConversion(Expr *From, QualType ToType,
2724 Expr::NPC_ValueDependentIsNull) &&
2725 "Expr must be null pointer constant!");
2862 static bool tryAtomicConversion(Sema &S, Expr *From, QualType ToType,
2899 IsInitializerListConstructorConversion(Sema &S, Expr *From, QualType ToType,
2981 IsUserDefinedConversion(Sema &S, Expr *From, QualType ToType,
3013 Expr **Args = &From;
3196 Sema::DiagnoseMultipleUserDefinedConversion(Expr *From, QualType ToType) {
3991 Expr *Init, QualType T2, bool AllowRvalues,
4116 TryReferenceInit(Sema &S, Expr *Init, QualType DeclType,
4144 Expr::Classification InitCategory = Init->Classify(S.Context);
4380 TryCopyInitialization(Sema &S, Expr *From, QualType ToType,
4419 Expr *Init = From->getInit(i);
4504 Expr *Init = From->getInit(0);
4596 TryCopyInitialization(Sema &S, Expr *From, QualType ToType,
4636 Expr::Classification FromClassification,
4748 Sema::PerformObjectArgumentInitialization(Expr *From,
4756 Expr::Classification FromClassification;
4760 FromClassification = Expr::Classification::makeSimpleLValue();
4810 TryContextuallyConvertToBool(Sema &S, Expr *From) {
4823 ExprResult Sema::PerformContextuallyConvertToBool(Expr *From) {
4894 ExprResult Sema::CheckConvertedConstantExpression(Expr *From, QualType T,
4980 Expr::EvalResult Eval;
5023 TryContextuallyConvertToObjCPointer(Sema &S, Expr *From) {
5056 ExprResult Sema::PerformContextuallyConvertToObjCPointer(Expr *From) {
5076 diagnoseAmbiguousConversion(Sema &SemaRef, SourceLocation Loc, Expr *From,
5094 diagnoseNoViableConversion(Sema &SemaRef, SourceLocation Loc, Expr *&From,
5134 static bool recordConversion(Sema &SemaRef, SourceLocation Loc, Expr *&From,
5163 Sema &SemaRef, SourceLocation Loc, Expr *From,
5173 collectViableConversionCandidates(Sema &SemaRef, Expr *From, QualType ToType,
5218 SourceLocation Loc, Expr *From, ContextualImplicitConverter &Converter) {
5250 Expr *From;
5252 TypeDiagnoserPartialDiag(ContextualImplicitConverter &Converter, Expr *From)
5413 ArrayRef<Expr *> Args,
5434 QualType(), Expr::Classification::makeSimpleLValue(),
5536 ArrayRef<Expr *> Args,
5574 Expr::Classification ObjectClassification,
5575 ArrayRef<Expr *> Args,
5610 Expr::Classification ObjectClassification,
5611 ArrayRef<Expr *> Args,
5714 Expr::Classification ObjectClassification,
5715 ArrayRef<Expr *> Args,
5765 ArrayRef<Expr *> Args,
5815 Expr *From, QualType ToType,
5904 ExprValueKind VK = Expr::getValueKindForType(ConversionType);
5964 Expr *From, QualType ToType,
6006 Expr *Object,
6007 ArrayRef<Expr *> Args,
6110 ArrayRef<Expr *> Args,
6161 ArrayRef<Expr *> Args,
6512 ArrayRef<Expr *> Args,
6534 static Qualifiers CollectVRQualifiers(ASTContext &Context, Expr* ArgExpr) {
6598 ArrayRef<Expr *> Args;
6767 Sema &S, ArrayRef<Expr *> Args,
7664 llvm::ArrayRef<Expr *> Args,
7853 ArrayRef<Expr *> Args,
8150 void Sema::NoteAllOverloadCandidates(Expr* OverloadedExpr, QualType DestType) {
8216 Expr *FromExpr = Conv.Bad.FromExpr;
8222 Expr *E = FromExpr->IgnoreParens();
8993 ArrayRef<Expr *> Args) {
9081 ArrayRef<Expr *> Args,
9275 Expr* SourceExpr;
9294 AddressOfFunctionResolver(Sema &S, Expr *SourceExpr,
9605 Sema::ResolveAddressOfOverloadedFunction(Expr *AddressOfExpr,
9816 ArrayRef<Expr *> Args,
9847 ArrayRef<Expr *> Args,
9924 ArrayRef<Expr *> Args) {
10023 ArrayRef<Expr *> Args) {
10051 BuildRecoveryCallExpr(Sema &SemaRef, Scope *S, Expr *Fn,
10054 llvm::MutableArrayRef<Expr *> Args,
10121 bool Sema::buildOverloadedCallSet(Scope *S, Expr *Fn,
10182 static ExprResult FinishOverloadedCallExpr(Sema &SemaRef, Scope *S, Expr *Fn,
10187 Expr *ExecConfig,
10258 ExprResult Sema::BuildOverloadedCallExpr(Scope *S, Expr *Fn,
10263 Expr *ExecConfig,
10306 Expr *Input) {
10318 Expr *Args[2] = { Input, 0 };
10331 ArrayRef<Expr *> ArgsArray(Args, NumArgs);
10408 ExprValueKind VK = Expr::getValueKindForType(ResultTy);
10500 Expr *LHS, Expr *RHS) {
10501 Expr *Args[2] = { LHS, RHS };
10618 Args[0] = Arg0.takeAs<Expr>();
10619 Args[1] = RHS = Arg1.takeAs<Expr>();
10636 Args[0] = LHS = Arg0.takeAs<Expr>();
10637 Args[1] = RHS = Arg1.takeAs<Expr>();
10642 ExprValueKind VK = Expr::getValueKindForType(ResultTy);
10661 ArrayRef<const Expr *> ArgsArray(Args, 2);
10766 Expr *Base, Expr *Idx) {
10767 Expr *Args[2] = { Base, Idx };
10845 Args[1] = InputInit.takeAs<Expr>();
10849 ExprValueKind VK = Expr::getValueKindForType(ResultTy);
10941 Sema::BuildCallToMemberFunction(Scope *S, Expr *MemExprE,
10950 Expr *NakedMemExpr = MemExprE->IgnoreParens();
10962 ExprValueKind valueKind = Expr::getValueKindForType(proto->getResultType());
11021 Expr::Classification ObjectClassification
11022 = UnresExpr->isArrow()? Expr::Classification::makeSimpleLValue()
11129 ExprValueKind VK = Expr::getValueKindForType(ResultType);
11188 Sema::BuildCallToObjectOfClassType(Scope *S, Expr *Obj,
11373 Expr **MethodArgs;
11376 MethodArgs = new Expr*[NumArgsInProto + 1];
11378 MethodArgs = new Expr*[Args.size() + 1];
11397 ExprValueKind VK = Expr::getValueKindForType(ResultTy);
11431 Expr *Arg;
11444 Arg = InputInit.takeAs<Expr>();
11453 Arg = DefArg.takeAs<Expr>();
11483 Sema::BuildOverloadedArrowExpr(Scope *S, Expr *Base, SourceLocation OpLoc,
11582 ExprValueKind VK = Expr::getValueKindForType(ResultTy);
11599 ArrayRef<Expr*> Args,
11640 Expr *ConvArgs[2];
11651 ExprValueKind VK = Expr::getValueKindForType(ResultTy);
11682 Expr *Range, ExprResult *CallExpr) {
11747 Expr *Sema::FixOverloadedFunctionReference(Expr *E, DeclAccessPair Found,
11750 Expr *SubExpr = FixOverloadedFunctionReference(PE->getSubExpr(),
11759 Expr *SubExpr = FixOverloadedFunctionReference(ICE->getSubExpr(),
11785 Expr *SubExpr = FixOverloadedFunctionReference(UnOp->getSubExpr(),
11808 Expr *SubExpr = FixOverloadedFunctionReference(UnOp->getSubExpr(),
11850 Expr *Base;
11911 return Owned(FixOverloadedFunctionReference((Expr *)E.get(), Found, Fn));