Home | History | Annotate | Download | only in Sema

Lines Matching defs:SrcExpr

49       : Self(S), SrcExpr(src), DestType(destType),
63 ExprResult SrcExpr;
117 Self.CheckCastAlign(SrcExpr.get(), DestType, OpRange);
123 Expr *src = SrcExpr.get();
127 SrcExpr = src;
135 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.take());
136 if (SrcExpr.isInvalid())
157 static TryCastResult TryLValueToRValueCast(Sema &Self, Expr *SrcExpr,
162 static TryCastResult TryStaticReferenceDowncast(Sema &Self, Expr *SrcExpr,
181 static TryCastResult TryStaticMemberPointerUpcast(Sema &Self, ExprResult &SrcExpr,
189 static TryCastResult TryStaticImplicitCast(Sema &Self, ExprResult &SrcExpr,
195 static TryCastResult TryStaticCast(Sema &Self, ExprResult &SrcExpr,
202 static TryCastResult TryConstCast(Sema &Self, Expr *SrcExpr, QualType DestType,
204 static TryCastResult TryReinterpretCast(Sema &Self, ExprResult &SrcExpr,
256 if (Op.SrcExpr.isInvalid())
260 Op.ValueKind, Op.SrcExpr.take(), DestTInfo,
266 if (Op.SrcExpr.isInvalid())
270 Op.ValueKind, Op.Kind, Op.SrcExpr.take(),
277 if (Op.SrcExpr.isInvalid())
281 Op.ValueKind, Op.Kind, Op.SrcExpr.take(),
288 if (Op.SrcExpr.isInvalid())
293 Op.ValueKind, Op.Kind, Op.SrcExpr.take(),
529 /// CheckDynamicCast - Check that a dynamic_cast\<DestType\>(SrcExpr) is valid.
534 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.take());
536 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.take());
537 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
540 QualType OrigSrcType = SrcExpr.get()->getType();
584 << OrigSrcType << SrcExpr.get()->getSourceRange();
588 if (!SrcExpr.get()->isLValue()) {
601 << SrcExpr.get()->getSourceRange()))
605 << SrcPointee.getUnqualifiedType() << SrcExpr.get()->getSourceRange();
652 << SrcPointee.getUnqualifiedType() << SrcExpr.get()->getSourceRange();
661 /// CheckConstCast - Check that a const_cast\<DestType\>(SrcExpr) is valid.
668 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.take());
670 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.take());
671 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
675 if (TryConstCast(Self, SrcExpr.get(), DestType, /*CStyle*/false, msg) != TC_Success
678 << SrcExpr.get()->getType() << DestType << OpRange;
681 /// CheckReinterpretCast - Check that a reinterpret_cast\<DestType\>(SrcExpr) is
688 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.take());
691 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
696 TryReinterpretCast(Self, SrcExpr, DestType,
700 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
702 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) {
705 << OverloadExpr::find(SrcExpr.get()).Expression->getName()
707 Self.NoteAllOverloadCandidates(SrcExpr.get());
710 diagnoseBadCast(Self, msg, CT_Reinterpret, OpRange, SrcExpr.get(),
719 /// CheckStaticCast - Check that a static_cast\<DestType\>(SrcExpr) is valid.
725 if (SrcExpr.isInvalid())
736 Self.ResolveAndFixSingleFunctionTemplateSpecialization(SrcExpr,
740 if (SrcExpr.isInvalid())
744 SrcExpr = Self.IgnoredValueConversions(SrcExpr.take());
750 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.take());
751 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
757 = TryStaticCast(Self, SrcExpr, DestType, Sema::CCK_OtherCast, OpRange, msg,
760 if (SrcExpr.isInvalid())
762 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) {
763 OverloadExpr* oe = OverloadExpr::find(SrcExpr.get()).Expression;
767 Self.NoteAllOverloadCandidates(SrcExpr.get());
769 diagnoseBadCast(Self, msg, CT_Static, OpRange, SrcExpr.get(), DestType,
785 static TryCastResult TryStaticCast(Sema &Self, ExprResult &SrcExpr,
815 tcr = TryStaticReferenceDowncast(Self, SrcExpr.get(), DestType, CStyle,
823 tcr = TryLValueToRValueCast(Self, SrcExpr.get(), DestType, CStyle, Kind,
830 tcr = TryStaticImplicitCast(Self, SrcExpr, DestType, CCK, OpRange, msg,
832 if (SrcExpr.isInvalid())
845 QualType SrcType = Self.Context.getCanonicalType(SrcExpr.get()->getType());
893 tcr = TryStaticMemberPointerUpcast(Self, SrcExpr, SrcType, DestType, CStyle,
953 TryLValueToRValueCast(Sema &Self, Expr *SrcExpr, QualType DestType,
963 if (!SrcExpr->isGLValue())
972 QualType FromType = SrcExpr->getType();
979 if (Self.CompareReferenceRelationship(SrcExpr->getLocStart(),
992 if (!Self.IsDerivedFrom(SrcExpr->getType(), R->getPointeeType(), Paths))
1004 TryStaticReferenceDowncast(Sema &Self, Expr *SrcExpr, QualType DestType,
1022 if (!RValueRef && !SrcExpr->isLValue()) {
1031 Self.Context.getCanonicalType(SrcExpr->getType()),
1033 OpRange, SrcExpr->getType(), DestType, msg, Kind,
1188 TryStaticMemberPointerUpcast(Sema &Self, ExprResult &SrcExpr, QualType SrcType,
1199 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) {
1201 = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(), DestType, false,
1272 FunctionDecl *Fn = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(),
1281 SrcExpr = Self.FixOverloadedFunctionReference(SrcExpr, FoundOverload, Fn);
1282 if (!SrcExpr.isUsable()) {
1299 TryStaticImplicitCast(Sema &Self, ExprResult &SrcExpr, QualType DestType,
1319 Expr *SrcExprRaw = SrcExpr.get();
1344 SrcExpr = move(Result);
1350 static TryCastResult TryConstCast(Sema &Self, Expr *SrcExpr, QualType DestType,
1353 QualType SrcType = SrcExpr->getType();
1355 if (DestTypeTmp->isLValueReferenceType() && !SrcExpr->isLValue()) {
1478 static TryCastResult TryReinterpretCast(Sema &Self, ExprResult &SrcExpr,
1486 QualType SrcType = SrcExpr.get()->getType();
1494 ExprResult SingleFunctionExpr = SrcExpr;
1499 SrcExpr = move(SingleFunctionExpr);
1500 SrcType = SrcExpr.get()->getType();
1508 if (LValue && !SrcExpr.get()->isLValue()) {
1525 switch (SrcExpr.get()->getObjectKind()) {
1537 << OpRange << SrcExpr.get()->getSourceRange();
1538 msg = 0; SrcExpr = ExprError();
1707 Kind = Self.PrepareCastToObjCObjectPointer(SrcExpr);
1770 SrcExpr = Self.checkUnknownAnyCast(DestRange, DestType,
1771 SrcExpr.get(), Kind,
1777 if (SrcExpr.isInvalid())
1789 SrcExpr, /* Decay Function to ptr */ false,
1792 if (SrcExpr.isInvalid())
1796 SrcExpr = Self.IgnoredValueConversions(SrcExpr.take());
1797 if (SrcExpr.isInvalid())
1804 if (DestType->isDependentType() || SrcExpr.get()->isTypeDependent()) {
1811 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.take());
1812 if (SrcExpr.isInvalid())
1819 && (SrcExpr.get()->getType()->isIntegerType()
1820 || SrcExpr.get()->getType()->isFloatingType())) {
1837 TryCastResult tcr = TryConstCast(Self, SrcExpr.get(), DestType,
1847 tcr = TryStaticCast(Self, SrcExpr, DestType, CCK, OpRange,
1849 if (SrcExpr.isInvalid())
1854 tcr = TryReinterpretCast(Self, SrcExpr, DestType, /*CStyle*/true,
1856 if (SrcExpr.isInvalid())
1865 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) {
1867 FunctionDecl *Fn = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(),
1877 OpRange, SrcExpr.get(), DestType, ListInitialization);
1883 // Clear out SrcExpr if there was a fatal error.
1885 SrcExpr = ExprError();
1894 SrcExpr = Self.checkUnknownAnyCast(DestRange, DestType,
1895 SrcExpr.get(), Kind,
1904 SrcExpr = Self.IgnoredValueConversions(SrcExpr.take());
1905 if (SrcExpr.isInvalid())
1913 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.take());
1914 if (SrcExpr.isInvalid())
1916 QualType SrcType = SrcExpr.get()->getType();
1926 SrcExpr = ExprError();
1936 << DestType << SrcExpr.get()->getSourceRange();
1950 << SrcExpr.get()->getSourceRange();
1956 << SrcType << SrcExpr.get()->getSourceRange();
1957 SrcExpr = ExprError();
1966 << DestType << SrcExpr.get()->getSourceRange();
1967 SrcExpr = ExprError();
1975 Self.Diag(SrcExpr.get()->getExprLoc(),
1977 << SrcType << SrcExpr.get()->getSourceRange();
1978 SrcExpr = ExprError();
1983 SrcExpr = Self.CheckExtVectorCast(OpRange, DestType, SrcExpr.take(), Kind);
1992 SrcExpr = ExprError();
1999 SrcExpr = ExprError();
2008 if (isa<ObjCSelectorExpr>(SrcExpr.get())) {
2009 Self.Diag(SrcExpr.get()->getExprLoc(), diag::err_cast_selector_expr);
2010 SrcExpr = ExprError();
2018 Self.Diag(SrcExpr.get()->getExprLoc(),
2020 << SrcType << SrcExpr.get()->getSourceRange();
2021 SrcExpr = ExprError();
2027 Self.Diag(SrcExpr.get()->getLocStart(),
2029 << DestType << SrcExpr.get()->getSourceRange();
2030 SrcExpr = ExprError();
2038 if (SrcExpr.isInvalid())
2048 Self.Diag(SrcExpr.get()->getLocStart(),
2051 << SrcExpr.get()->getSourceRange();
2057 Self.Diag(SrcExpr.get()->getLocStart(),
2059 << 1 << SrcType << DestType << SrcExpr.get()->getSourceRange();
2060 SrcExpr = ExprError();
2065 Kind = Self.PrepareScalarCast(SrcExpr, DestType);
2066 if (SrcExpr.isInvalid())
2088 if (Op.SrcExpr.isInvalid())
2092 Op.ValueKind, Op.Kind, Op.SrcExpr.take(),
2106 if (Op.SrcExpr.isInvalid())
2111 Op.Kind, Op.SrcExpr.take(), &Op.BasePath, RPLoc));