| 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 4135d0cc3585607fda7a57ae98f58db2ebdae025..d69635e889e0642f272536c869eee16bccee7833 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
| @@ -2727,6 +2727,27 @@ class ResolverVisitor extends MappingVisitor<Element> {
|
| } else {
|
| visitor.variables.type = compiler.types.dynamicType;
|
| }
|
| +
|
| + Modifiers modifiers = node.modifiers;
|
| + void reportExtraModifier(String modifier) {
|
| + Node modifierNode;
|
| + for (var nodes = modifiers.nodes; !nodes.isEmpty; nodes = nodes.tail) {
|
| + if (modifier == nodes.head.asIdentifier().source.stringValue) {
|
| + modifierNode = nodes.head;
|
| + break;
|
| + }
|
| + }
|
| + assert(modifierNode != null);
|
| + compiler.reportError(modifierNode, MessageKind.EXTRANEOUS_MODIFIER,
|
| + {'modifier': modifier});
|
| + }
|
| + if (modifiers.isFinal() && (modifiers.isConst() || modifiers.isVar())) {
|
| + reportExtraModifier('final');
|
| + }
|
| + if (modifiers.isVar() && (modifiers.isConst() || node.type != null)) {
|
| + reportExtraModifier('var');
|
| + }
|
| +
|
| visitor.visit(node.definitions);
|
| }
|
|
|
|
|