| Index: pkg/analyzer/lib/src/generated/parser.dart
|
| diff --git a/pkg/analyzer/lib/src/generated/parser.dart b/pkg/analyzer/lib/src/generated/parser.dart
|
| index 92b5d0ea179525758bf4e485afcdb9bb9cc7b4d8..e7187a2463d8a603b8a54dbe5c3b255604f99916 100644
|
| --- a/pkg/analyzer/lib/src/generated/parser.dart
|
| +++ b/pkg/analyzer/lib/src/generated/parser.dart
|
| @@ -1275,7 +1275,8 @@ class Parser {
|
| _validateModifiersForGetterOrSetterOrMethod(modifiers);
|
| return parseSetter(commentAndMetadata, modifiers.externalKeyword,
|
| modifiers.staticKeyword, returnType);
|
| - } else if (keyword == Keyword.OPERATOR && _isOperator(next)) {
|
| + } else if (keyword == Keyword.OPERATOR &&
|
| + (_isOperator(next) || next.type == TokenType.EQ_EQ_EQ)) {
|
| _validateModifiersForOperator(modifiers);
|
| return _parseOperatorAfterKeyword(commentAndMetadata,
|
| modifiers.externalKeyword, returnType, getAndAdvance());
|
| @@ -7209,7 +7210,10 @@ class Parser {
|
| Token operatorKeyword) {
|
| if (!_currentToken.isUserDefinableOperator) {
|
| _reportErrorForCurrentToken(
|
| - ParserErrorCode.NON_USER_DEFINABLE_OPERATOR, [_currentToken.lexeme]);
|
| + _currentToken.type == TokenType.EQ_EQ_EQ
|
| + ? ParserErrorCode.INVALID_OPERATOR
|
| + : ParserErrorCode.NON_USER_DEFINABLE_OPERATOR,
|
| + [_currentToken.lexeme]);
|
| }
|
| SimpleIdentifier name =
|
| astFactory.simpleIdentifier(getAndAdvance(), isDeclaration: true);
|
|
|