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

Side by Side Diff: pkg/front_end/lib/src/fasta/source/outline_builder.dart

Issue 2738013002: Add support for metadata on type variables to Fasta parser. (Closed)
Patch Set: Bug fixes 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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.outline_builder; 5 library fasta.outline_builder;
6 6
7 import 'package:kernel/ast.dart' show AsyncMarker, ProcedureKind; 7 import 'package:kernel/ast.dart' show AsyncMarker, ProcedureKind;
8 8
9 import '../parser/parser.dart' show FormalParameterType, optional; 9 import '../parser/parser.dart' show FormalParameterType, optional;
10 10
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 int modifiers = Modifier.validate(pop()); 553 int modifiers = Modifier.validate(pop());
554 List<MetadataBuilder> metadata = pop(); 554 List<MetadataBuilder> metadata = pop();
555 library.addFields(metadata, modifiers, type, names); 555 library.addFields(metadata, modifiers, type, names);
556 } 556 }
557 557
558 @override 558 @override
559 void endTypeVariable(Token token, Token extendsOrSuper) { 559 void endTypeVariable(Token token, Token extendsOrSuper) {
560 debugEvent("endTypeVariable"); 560 debugEvent("endTypeVariable");
561 TypeBuilder bound = pop(); 561 TypeBuilder bound = pop();
562 String name = pop(); 562 String name = pop();
563 // TODO(paulberry): type variable metadata should not be ignored. See
564 // dartbug.com/28981.
565 /* List<MetadataBuilder> metadata = */ pop();
563 push(library.addTypeVariable(name, bound, token.charOffset)); 566 push(library.addTypeVariable(name, bound, token.charOffset));
564 } 567 }
565 568
566 @override 569 @override
567 void endPartOf(Token partKeyword, Token semicolon) { 570 void endPartOf(Token partKeyword, Token semicolon) {
568 debugEvent("endPartOf"); 571 debugEvent("endPartOf");
569 String name = pop(); 572 String name = pop();
570 List<MetadataBuilder> metadata = pop(); 573 List<MetadataBuilder> metadata = pop();
571 library.addPartOf(metadata, name); 574 library.addPartOf(metadata, name);
572 } 575 }
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 Link<Token> handleMemberName(Link<Token> identifiers) { 682 Link<Token> handleMemberName(Link<Token> identifiers) {
680 if (!isDartLibrary || identifiers.isEmpty) return identifiers; 683 if (!isDartLibrary || identifiers.isEmpty) return identifiers;
681 return removeNativeClause(identifiers); 684 return removeNativeClause(identifiers);
682 } 685 }
683 686
684 @override 687 @override
685 void debugEvent(String name) { 688 void debugEvent(String name) {
686 // printEvent(name); 689 // printEvent(name);
687 } 690 }
688 } 691 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698