Commits

Anna Zaks committed f6d1ec48f04
[SIL] Refactor SILLocation not to derive from PointerUnion3 but to include it as a member As per Chris's suggestion (review of r6152), further refactored SILLocation not to derive from PointerUnion3 but to include it as a member. In addition, added some template magic to make sure we don't have to chain dyn_casts, which I suspect will be/is happening a lot with SILLocation: Ex: - if (auto E = Func.dyn_cast<Expr*>()) { - if (const FuncExpr *FE = dyn_cast<FuncExpr>(E)) - return SILLocation(FE->getBody()) + if (const FuncExpr *FE = Func.getAs<FuncExpr>()) + return SILLocation(FE->getBody()); Swift SVN r6283