Skip to content

Commit 09f45c8

Browse files
committed
[Parse] Upgrade deprecated_operator_body* to Swift 4 errors.
Part of rdar://problem/28961650 .
1 parent e2d01f5 commit 09f45c8

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

include/swift/AST/DiagnosticsParse.def

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,11 +413,16 @@ ERROR(expected_operator_name_after_operator,PointsToFirstBadToken,
413413
ERROR(identifier_when_expecting_operator,PointsToFirstBadToken,
414414
"%0 is considered to be an identifier, not an operator", (Identifier))
415415

416-
WARNING(deprecated_operator_body,PointsToFirstBadToken,
416+
WARNING(swift3_deprecated_operator_body,PointsToFirstBadToken,
417417
"operator should no longer be declared with body", ())
418-
WARNING(deprecated_operator_body_use_group,PointsToFirstBadToken,
418+
ERROR(deprecated_operator_body,PointsToFirstBadToken,
419+
"operator should no longer be declared with body", ())
420+
WARNING(swift3_deprecated_operator_body_use_group,PointsToFirstBadToken,
419421
"operator should no longer be declared with body; "
420422
"use a precedence group instead", ())
423+
ERROR(deprecated_operator_body_use_group,PointsToFirstBadToken,
424+
"operator should no longer be declared with body; "
425+
"use a precedence group instead", ())
421426
ERROR(operator_decl_no_fixity,none,
422427
"operator must be declared as 'prefix', 'postfix', or 'infix'", ())
423428

lib/Parse/ParseDecl.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5847,9 +5847,15 @@ Parser::parseDeclOperatorImpl(SourceLoc OperatorLoc, Identifier Name,
58475847
SourceLoc lBraceLoc;
58485848
if (consumeIf(tok::l_brace, lBraceLoc)) {
58495849
if (isInfix && !Tok.is(tok::r_brace)) {
5850-
diagnose(lBraceLoc, diag::deprecated_operator_body_use_group);
5850+
auto message = Context.isSwiftVersion3()
5851+
? diag::swift3_deprecated_operator_body_use_group
5852+
: diag::deprecated_operator_body_use_group;
5853+
diagnose(lBraceLoc, message);
58515854
} else {
5852-
auto Diag = diagnose(lBraceLoc, diag::deprecated_operator_body);
5855+
auto message = Context.isSwiftVersion3()
5856+
? diag::swift3_deprecated_operator_body
5857+
: diag::deprecated_operator_body;
5858+
auto Diag = diagnose(lBraceLoc, message);
58535859
if (Tok.is(tok::r_brace)) {
58545860
SourceLoc lastGoodLoc = precedenceGroupNameLoc;
58555861
if (lastGoodLoc.isInvalid())

0 commit comments

Comments
 (0)