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

Side by Side Diff: pkg/front_end/lib/src/fasta/parser/listener.dart

Issue 2710973002: Revert "Add support for the new function-type syntax." (Closed)
Patch Set: Created 3 years, 10 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 fasta.parser.listener; 5 library fasta.parser.listener;
6 6
7 import '../scanner/token.dart' show BeginGroupToken, Token; 7 import '../scanner/token.dart' show BeginGroupToken, Token;
8 8
9 import '../util/link.dart' show Link; 9 import '../util/link.dart' show Link;
10 10
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 void handleFunctionBodySkipped(Token token) {} 226 void handleFunctionBodySkipped(Token token) {}
227 227
228 void beginFunctionName(Token token) {} 228 void beginFunctionName(Token token) {}
229 229
230 void endFunctionName(Token token) { 230 void endFunctionName(Token token) {
231 logEvent("FunctionName"); 231 logEvent("FunctionName");
232 } 232 }
233 233
234 void beginFunctionTypeAlias(Token token) {} 234 void beginFunctionTypeAlias(Token token) {}
235 235
236 /// Handle the end of a typedef declaration. 236 /// Handle the end of a typedef declaration. Substructures:
237 ///
238 /// If [equals] is null, then we have the following substructures:
239 /// - Metadata 237 /// - Metadata
240 /// - Return type 238 /// - Return type
241 /// - Name (identifier) 239 /// - Name (identifier)
242 /// - Template variables (type variables to the template) 240 /// - Type variables
243 /// - Formal parameters 241 /// - Formal parameters
244 /// 242 void endFunctionTypeAlias(Token typedefKeyword, Token endToken) {
245 /// If [equals] is not null, then the have the following substructures:
246 /// - Metadata
247 /// - Name (identifier)
248 /// - Template variables (type variables to the template)
249 /// - Type (FunctionTypeAnnotation)
250 void endFunctionTypeAlias(
251 Token typedefKeyword, Token equals, Token endToken) {
252 logEvent("FunctionTypeAlias"); 243 logEvent("FunctionTypeAlias");
253 } 244 }
254 245
255 void beginMixinApplication(Token token) {} 246 void beginMixinApplication(Token token) {}
256 247
257 /// Handle the end of a mixin application construct (e.g. "A with B, C"). 248 /// Handle the end of a mixin application construct (e.g. "A with B, C").
258 /// Substructures: 249 /// Substructures:
259 /// - supertype 250 /// - supertype
260 /// - mixin types (TypeList) 251 /// - mixin types (TypeList)
261 void endMixinApplication() { 252 void endMixinApplication() {
262 logEvent("MixinApplication"); 253 logEvent("MixinApplication");
263 } 254 }
264 255
265 void beginNamedMixinApplication(Token beginToken, Token name) {} 256 void beginNamedMixinApplication(Token beginToken, Token name) {}
266 257
267 /// Handle the end of a named mixin declaration. Substructures: 258 /// Handle the end of a named mixin declaration. Substructures:
268 /// - metadata 259 /// - metadata
269 /// - modifiers 260 /// - modifiers
270 /// - class name 261 /// - class name
271 /// - type variables 262 /// - type variables
272 /// - mixin application 263 /// - mixin application
273 /// - implemented types (TypeList) 264 /// - implemented types (TypeList)
274 /// 265 ///
275 /// TODO(paulberry,ahe): it seems inconsistent that for a named mixin 266 /// TODO(paulberry,ahe): it seems incosistent that for a named mixin
276 /// application, the implemented types are a TypeList, whereas for a class 267 /// application, the implemented types are a TypeList, whereas for a class
277 /// declaration, each implemented type is listed separately on the stack, and 268 /// declaration, each implemented type is listed separately on the stack, and
278 /// the number of implemented types is passed as a parameter. 269 /// the number of implemented types is passed as a parameter.
279 void endNamedMixinApplication( 270 void endNamedMixinApplication(
280 Token begin, Token classKeyword, Token equals, Token implementsKeyword, 271 Token begin, Token classKeyword, Token equals, Token implementsKeyword,
281 Token endToken) { 272 Token endToken) {
282 logEvent("NamedMixinApplication"); 273 logEvent("NamedMixinApplication");
283 } 274 }
284 275
285 void beginHide(Token hideKeyword) {} 276 void beginHide(Token hideKeyword) {}
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 } 627 }
637 628
638 void handleFinallyBlock(Token finallyKeyword) { 629 void handleFinallyBlock(Token finallyKeyword) {
639 logEvent("FinallyBlock"); 630 logEvent("FinallyBlock");
640 } 631 }
641 632
642 void endTryStatement(int catchCount, Token tryKeyword, Token finallyKeyword) { 633 void endTryStatement(int catchCount, Token tryKeyword, Token finallyKeyword) {
643 logEvent("TryStatement"); 634 logEvent("TryStatement");
644 } 635 }
645 636
646 void handleType(Token beginToken, Token endToken) { 637 void endType(Token beginToken, Token endToken) {
647 logEvent("Type"); 638 logEvent("Type");
648 } 639 }
649 640
650 void handleNoName(Token token) {
651 logEvent("NoName");
652 }
653
654 void handleFunctionType(Token functionToken, Token endToken) {
655 logEvent("FunctionType");
656 }
657
658 void beginTypeArguments(Token token) {} 641 void beginTypeArguments(Token token) {}
659 642
660 void endTypeArguments(int count, Token beginToken, Token endToken) { 643 void endTypeArguments(int count, Token beginToken, Token endToken) {
661 logEvent("TypeArguments"); 644 logEvent("TypeArguments");
662 } 645 }
663 646
664 void handleNoTypeArguments(Token token) { 647 void handleNoTypeArguments(Token token) {
665 logEvent("NoTypeArguments"); 648 logEvent("NoTypeArguments");
666 } 649 }
667 650
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
931 914
932 final Map arguments; 915 final Map arguments;
933 916
934 ParserError(this.beginOffset, this.endOffset, this.kind, this.arguments); 917 ParserError(this.beginOffset, this.endOffset, this.kind, this.arguments);
935 918
936 ParserError.fromTokens(Token begin, Token end, ErrorKind kind, Map arguments) 919 ParserError.fromTokens(Token begin, Token end, ErrorKind kind, Map arguments)
937 : this(begin.charOffset, end.charOffset + end.charCount, kind, arguments); 920 : this(begin.charOffset, end.charOffset + end.charCount, kind, arguments);
938 921
939 String toString() => "@${beginOffset}: $kind $arguments"; 922 String toString() => "@${beginOffset}: $kind $arguments";
940 } 923 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/parser/error_kind.dart ('k') | pkg/front_end/lib/src/fasta/parser/parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698