OLD | NEW |
---|---|
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 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
569 | 569 |
570 @override | 570 @override |
571 void endTypeVariable(Token token, Token extendsOrSuper) { | 571 void endTypeVariable(Token token, Token extendsOrSuper) { |
572 debugEvent("endTypeVariable"); | 572 debugEvent("endTypeVariable"); |
573 TypeBuilder bound = pop(); | 573 TypeBuilder bound = pop(); |
574 String name = pop(); | 574 String name = pop(); |
575 push(library.addTypeVariable(name, bound, token.charOffset)); | 575 push(library.addTypeVariable(name, bound, token.charOffset)); |
576 } | 576 } |
577 | 577 |
578 @override | 578 @override |
579 void endPartOf(Token partKeyword, Token semicolon) { | 579 void endPartOf(Token partKeyword, Token semicolon, bool hasName) { |
580 debugEvent("endPartOf"); | 580 debugEvent("endPartOf"); |
581 String name = pop(); | 581 String name = hasName ? pop() : null; |
Paul Berry
2017/03/14 14:48:23
I see what you're doing here, but IMHO it's a litt
ahe
2017/03/15 14:05:36
Honestly, I wasn't super happy with it either :-)
| |
582 String uri = hasName ? null : pop(); | |
582 List<MetadataBuilder> metadata = pop(); | 583 List<MetadataBuilder> metadata = pop(); |
583 library.addPartOf(metadata, name); | 584 library.addPartOf(metadata, name, uri); |
584 } | 585 } |
585 | 586 |
586 @override | 587 @override |
587 void endConstructorReference( | 588 void endConstructorReference( |
588 Token start, Token periodBeforeName, Token endToken) { | 589 Token start, Token periodBeforeName, Token endToken) { |
589 debugEvent("ConstructorReference"); | 590 debugEvent("ConstructorReference"); |
590 String suffix = popIfNotNull(periodBeforeName); | 591 String suffix = popIfNotNull(periodBeforeName); |
591 List<TypeBuilder> typeArguments = pop(); | 592 List<TypeBuilder> typeArguments = pop(); |
592 String name = pop(); | 593 String name = pop(); |
593 push(library.addConstructorReference( | 594 push(library.addConstructorReference( |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
700 Link<Token> handleMemberName(Link<Token> identifiers) { | 701 Link<Token> handleMemberName(Link<Token> identifiers) { |
701 if (!isDartLibrary || identifiers.isEmpty) return identifiers; | 702 if (!isDartLibrary || identifiers.isEmpty) return identifiers; |
702 return removeNativeClause(identifiers); | 703 return removeNativeClause(identifiers); |
703 } | 704 } |
704 | 705 |
705 @override | 706 @override |
706 void debugEvent(String name) { | 707 void debugEvent(String name) { |
707 // printEvent(name); | 708 // printEvent(name); |
708 } | 709 } |
709 } | 710 } |
OLD | NEW |