Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(451)

Side by Side Diff: pkg/compiler/lib/src/parser/member_listener.dart

Issue 2723883002: Add AstBuilder support for fields. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 name, 108 name,
109 beginToken, 109 beginToken,
110 endToken, 110 endToken,
111 ElementKind.FACTORY_CONSTRUCTOR, 111 ElementKind.FACTORY_CONSTRUCTOR,
112 method.modifiers, 112 method.modifiers,
113 enclosingClass); 113 enclosingClass);
114 addMember(memberElement); 114 addMember(memberElement);
115 } 115 }
116 116
117 @override 117 @override
118 void endFields(int count, Token beginToken, Token endToken) { 118 void endFields(
119 int count, Token covariantKeyword, Token beginToken, Token endToken) {
119 bool hasParseError = memberErrors.head; 120 bool hasParseError = memberErrors.head;
120 super.endFields(count, beginToken, endToken); 121 super.endFields(count, covariantKeyword, beginToken, endToken);
121 VariableDefinitions variableDefinitions = popNode(); 122 VariableDefinitions variableDefinitions = popNode();
122 Modifiers modifiers = variableDefinitions.modifiers; 123 Modifiers modifiers = variableDefinitions.modifiers;
123 pushNode(null); 124 pushNode(null);
124 void buildFieldElement(Identifier name, VariableList fields) { 125 void buildFieldElement(Identifier name, VariableList fields) {
125 Element element = new FieldElementX(name, enclosingClass, fields); 126 Element element = new FieldElementX(name, enclosingClass, fields);
126 addMember(element); 127 addMember(element);
127 } 128 }
128 129
129 buildFieldElements(modifiers, variableDefinitions.definitions, 130 buildFieldElements(modifiers, variableDefinitions.definitions,
130 enclosingClass, buildFieldElement, beginToken, endToken, hasParseError); 131 enclosingClass, buildFieldElement, beginToken, endToken, hasParseError);
(...skipping 19 matching lines...) Expand all
150 addMetadata(memberElement); 151 addMetadata(memberElement);
151 enclosingClass.addMember(memberElement, reporter); 152 enclosingClass.addMember(memberElement, reporter);
152 } 153 }
153 154
154 @override 155 @override
155 void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) { 156 void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) {
156 super.endMetadata(beginToken, periodBeforeName, endToken); 157 super.endMetadata(beginToken, periodBeforeName, endToken);
157 pushMetadata(new PartialMetadataAnnotation(beginToken, endToken)); 158 pushMetadata(new PartialMetadataAnnotation(beginToken, endToken));
158 } 159 }
159 } 160 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698