Changeset View
Changeset View
Standalone View
Standalone View
cfe/trunk/lib/AST/ExprClassification.cpp
Show First 20 Lines • Show All 337 Lines • ▼ Show 20 Lines | case Expr::ExprWithCleanupsClass: | ||||
// Casts depend completely on the target type. All casts work the same. | // Casts depend completely on the target type. All casts work the same. | ||||
case Expr::CStyleCastExprClass: | case Expr::CStyleCastExprClass: | ||||
case Expr::CXXFunctionalCastExprClass: | case Expr::CXXFunctionalCastExprClass: | ||||
case Expr::CXXStaticCastExprClass: | case Expr::CXXStaticCastExprClass: | ||||
case Expr::CXXDynamicCastExprClass: | case Expr::CXXDynamicCastExprClass: | ||||
case Expr::CXXReinterpretCastExprClass: | case Expr::CXXReinterpretCastExprClass: | ||||
case Expr::CXXConstCastExprClass: | case Expr::CXXConstCastExprClass: | ||||
case Expr::ObjCBridgedCastExprClass: | case Expr::ObjCBridgedCastExprClass: | ||||
case Expr::BuiltinBitCastExprClass: | |||||
// Only in C++ can casts be interesting at all. | // Only in C++ can casts be interesting at all. | ||||
if (!Lang.CPlusPlus) return Cl::CL_PRValue; | if (!Lang.CPlusPlus) return Cl::CL_PRValue; | ||||
return ClassifyUnnamed(Ctx, cast<ExplicitCastExpr>(E)->getTypeAsWritten()); | return ClassifyUnnamed(Ctx, cast<ExplicitCastExpr>(E)->getTypeAsWritten()); | ||||
case Expr::CXXUnresolvedConstructExprClass: | case Expr::CXXUnresolvedConstructExprClass: | ||||
return ClassifyUnnamed(Ctx, | return ClassifyUnnamed(Ctx, | ||||
cast<CXXUnresolvedConstructExpr>(E)->getTypeAsWritten()); | cast<CXXUnresolvedConstructExpr>(E)->getTypeAsWritten()); | ||||
▲ Show 20 Lines • Show All 354 Lines • Show Last 20 Lines |