Skip to content

Commit eb2347e

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

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
@@ -5850,9 +5850,15 @@ Parser::parseDeclOperatorImpl(SourceLoc OperatorLoc, Identifier Name,
58505850
SourceLoc lBraceLoc;
58515851
if (consumeIf(tok::l_brace, lBraceLoc)) {
58525852
if (isInfix && !Tok.is(tok::r_brace)) {
5853-
diagnose(lBraceLoc, diag::deprecated_operator_body_use_group);
5853+
auto message = Context.isSwiftVersion3()
5854+
? diag::swift3_deprecated_operator_body_use_group
5855+
: diag::deprecated_operator_body_use_group;
5856+
diagnose(lBraceLoc, message);
58545857
} else {
5855-
auto Diag = diagnose(lBraceLoc, diag::deprecated_operator_body);
5858+
auto message = Context.isSwiftVersion3()
5859+
? diag::swift3_deprecated_operator_body
5860+
: diag::deprecated_operator_body;
5861+
auto Diag = diagnose(lBraceLoc, message);
58565862
if (Tok.is(tok::r_brace)) {
58575863
SourceLoc lastGoodLoc = precedenceGroupNameLoc;
58585864
if (lastGoodLoc.isInvalid())

0 commit comments

Comments
 (0)