mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Change do-while to repeat-while.
Change all uses of "do { ... } while <cond>" to use "repeat" instead.
Rename DoWhileStmt to RepeatWhileStmt. Add diagnostic suggesting change
of 'do' to 'repeat' if a condition is found afterwards.
<rdar://problem/20336424> rename do/while loops to repeat/while & introduce "repeat <count> {}" loops
Swift SVN r27650
This commit is contained in:
@@ -171,9 +171,9 @@ public:
|
||||
TargetKindSetter TKS(BracePairs, BracePair::TargetKinds::Break);
|
||||
return transformWhileStmt(llvm::cast<WhileStmt>(S));
|
||||
}
|
||||
case StmtKind::DoWhile: {
|
||||
case StmtKind::RepeatWhile: {
|
||||
TargetKindSetter TKS(BracePairs, BracePair::TargetKinds::Break);
|
||||
return transformDoWhileStmt(llvm::cast<DoWhileStmt>(S));
|
||||
return transformRepeatWhileStmt(llvm::cast<RepeatWhileStmt>(S));
|
||||
}
|
||||
case StmtKind::For: {
|
||||
TargetKindSetter TKS(BracePairs, BracePair::TargetKinds::Break);
|
||||
@@ -221,15 +221,15 @@ public:
|
||||
return WS;
|
||||
}
|
||||
|
||||
DoWhileStmt *transformDoWhileStmt(DoWhileStmt *DWS) {
|
||||
if (Stmt *B = DWS->getBody()) {
|
||||
RepeatWhileStmt *transformRepeatWhileStmt(RepeatWhileStmt *RWS) {
|
||||
if (Stmt *B = RWS->getBody()) {
|
||||
Stmt *NB = transformStmt(B);
|
||||
if (NB != B) {
|
||||
DWS->setBody(NB);
|
||||
RWS->setBody(NB);
|
||||
}
|
||||
}
|
||||
|
||||
return DWS;
|
||||
return RWS;
|
||||
}
|
||||
|
||||
ForStmt *transformForStmt(ForStmt *FS) {
|
||||
|
||||
Reference in New Issue
Block a user