mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
AST: Remove unneeded expression nodes for __inout_conversion and __writeback_conversion.
We no longer need this language feature. The Sema support is still skeletally kept in place because removing it seems to totally break pointer conversions; I need to work with Joe and Doug to figure out why that's the case. Swift SVN r19289
This commit is contained in:
@@ -2196,7 +2196,7 @@ namespace {
|
||||
|
||||
// Wrap the call in an InOutConversion node to mark its special
|
||||
// writeback semantics.
|
||||
return new (C) InOutConversionExpr(expr->getLoc(), conversion);
|
||||
llvm_unreachable("it's dead, jim");
|
||||
};
|
||||
|
||||
auto lvTy = expr->getSubExpr()->getType()->castTo<LValueType>();
|
||||
@@ -2249,15 +2249,8 @@ namespace {
|
||||
ConstraintLocatorBuilder(locator),
|
||||
/*implicit*/ true,
|
||||
/*directPropertyAccess*/ false);
|
||||
|
||||
auto lvConversion = new (C) LValueConversionExpr(expr->getSubExpr(),
|
||||
LValueType::get(writebackTy),
|
||||
getMemberRef,
|
||||
setMemberRef);
|
||||
|
||||
// Convert the converted lvalue.
|
||||
return buildInOutConversionExpr(conversionChoice, resultTy,
|
||||
lvConversion);
|
||||
|
||||
llvm_unreachable("it's dead, jim");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2983,9 +2976,6 @@ namespace {
|
||||
Expr *visitOpenExistentialExpr(OpenExistentialExpr *expr) {
|
||||
llvm_unreachable("Already type-checked");
|
||||
}
|
||||
Expr *visitInOutConversionExpr(InOutConversionExpr *expr) {
|
||||
llvm_unreachable("Already type-checked");
|
||||
}
|
||||
|
||||
void finalize() {
|
||||
// Check that all value type methods were fully applied.
|
||||
|
||||
Reference in New Issue
Block a user