Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/resolution/members.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/resolution/members.dart b/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
| index ec1e126fdbc05488d71c48f89a0865f0911a1d5a..563006b82eedb0066089696afb0d50cfcd4b86ff 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
| @@ -2131,17 +2131,22 @@ class ResolverVisitor extends MappingVisitor<Element> { |
| if (identical(string, '!') || |
| identical(string, '&&') || identical(string, '||') || |
| identical(string, 'is') || identical(string, 'as') || |
| - identical(string, '===') || identical(string, '!==') || |
| identical(string, '?') || |
| identical(string, '>>>')) { |
| return null; |
| } |
| + SourceString op = source; |
| if (!isUserDefinableOperator(source.stringValue)) { |
| - source = Elements.mapToUserOperator(source); |
| + op = Elements.mapToUserOperatorOrNull(source); |
| + } |
| + if (op == null) { |
| + // Unsupported operator. |
|
ahe
2013/08/06 14:48:40
How is that diagnosed?
Johnni Winther
2013/08/07 06:56:25
An error has been reported during parsing.
Added
|
| + return new Selector.call( |
| + source, library, node.argumentsNode.slowLength(), []); |
| } |
| return node.arguments.isEmpty |
| - ? new Selector.unaryOperator(source) |
| - : new Selector.binaryOperator(source); |
| + ? new Selector.unaryOperator(op) |
| + : new Selector.binaryOperator(op); |
| } |
| Identifier identifier = node.selector.asIdentifier(); |