| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library dart2js.parser.member_listener; | 5 library dart2js.parser.member_listener; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../elements/elements.dart' show Element, ElementKind, Elements; | 8 import '../elements/elements.dart' show Element, ElementKind, Elements; |
| 9 import '../elements/modelx.dart' | 9 import '../elements/modelx.dart' |
| 10 show ClassElementX, ElementX, FieldElementX, VariableList; | 10 show ClassElementX, ElementX, FieldElementX, VariableList; |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 void buildFieldElement(Identifier name, VariableList fields) { | 126 void buildFieldElement(Identifier name, VariableList fields) { |
| 127 Element element = new FieldElementX(name, enclosingClass, fields); | 127 Element element = new FieldElementX(name, enclosingClass, fields); |
| 128 addMember(element); | 128 addMember(element); |
| 129 } | 129 } |
| 130 | 130 |
| 131 buildFieldElements(modifiers, variableDefinitions.definitions, | 131 buildFieldElements(modifiers, variableDefinitions.definitions, |
| 132 enclosingClass, buildFieldElement, beginToken, endToken, hasParseError); | 132 enclosingClass, buildFieldElement, beginToken, endToken, hasParseError); |
| 133 } | 133 } |
| 134 | 134 |
| 135 @override | 135 @override |
| 136 void endFieldInitializer(Token assignmentOperator) { | 136 void endFieldInitializer(Token assignmentOperator, Token token) { |
| 137 pushNode(null); // Super expects an expression, but | 137 pushNode(null); // Super expects an expression, but |
| 138 // ClassElementParser just skips expressions. | 138 // ClassElementParser just skips expressions. |
| 139 super.endFieldInitializer(assignmentOperator); | 139 super.endFieldInitializer(assignmentOperator, token); |
| 140 } | 140 } |
| 141 | 141 |
| 142 @override | 142 @override |
| 143 void endInitializers(int count, Token beginToken, Token endToken) { | 143 void endInitializers(int count, Token beginToken, Token endToken) { |
| 144 pushNode(null); | 144 pushNode(null); |
| 145 } | 145 } |
| 146 | 146 |
| 147 void addMetadata(ElementX memberElement) { | 147 void addMetadata(ElementX memberElement) { |
| 148 memberElement.metadata = metadata.toList(); | 148 memberElement.metadata = metadata.toList(); |
| 149 } | 149 } |
| 150 | 150 |
| 151 void addMember(ElementX memberElement) { | 151 void addMember(ElementX memberElement) { |
| 152 addMetadata(memberElement); | 152 addMetadata(memberElement); |
| 153 enclosingClass.addMember(memberElement, reporter); | 153 enclosingClass.addMember(memberElement, reporter); |
| 154 } | 154 } |
| 155 | 155 |
| 156 @override | 156 @override |
| 157 void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) { | 157 void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) { |
| 158 super.endMetadata(beginToken, periodBeforeName, endToken); | 158 super.endMetadata(beginToken, periodBeforeName, endToken); |
| 159 // TODO(paulberry,ahe): type variable metadata should not be ignored. See | 159 // TODO(paulberry,ahe): type variable metadata should not be ignored. See |
| 160 // dartbug.com/5841. | 160 // dartbug.com/5841. |
| 161 if (!inTypeVariable) { | 161 if (!inTypeVariable) { |
| 162 pushMetadata(new PartialMetadataAnnotation(beginToken, endToken)); | 162 pushMetadata(new PartialMetadataAnnotation(beginToken, endToken)); |
| 163 } | 163 } |
| 164 } | 164 } |
| 165 } | 165 } |
| OLD | NEW |