| 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 '../fasta_codes.dart' show FastaMessage, codeExpectedBlockToSkip; | 9 import '../fasta_codes.dart' show FastaMessage, codeExpectedBlockToSkip; |
| 10 | 10 |
| (...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 | 429 |
| 430 @override | 430 @override |
| 431 void endNamedMixinApplication(Token beginToken, Token classKeyword, | 431 void endNamedMixinApplication(Token beginToken, Token classKeyword, |
| 432 Token equals, Token implementsKeyword, Token endToken) { | 432 Token equals, Token implementsKeyword, Token endToken) { |
| 433 debugEvent("endNamedMixinApplication"); | 433 debugEvent("endNamedMixinApplication"); |
| 434 List<TypeBuilder> interfaces = popIfNotNull(implementsKeyword); | 434 List<TypeBuilder> interfaces = popIfNotNull(implementsKeyword); |
| 435 TypeBuilder mixinApplication = pop(); | 435 TypeBuilder mixinApplication = pop(); |
| 436 List<TypeVariableBuilder> typeVariables = pop(); | 436 List<TypeVariableBuilder> typeVariables = pop(); |
| 437 int charOffset = pop(); | 437 int charOffset = pop(); |
| 438 String name = pop(); | 438 String name = pop(); |
| 439 if (typeVariables != null && mixinApplication is MixinApplicationBuilder) { | |
| 440 mixinApplication.typeVariables = typeVariables; | |
| 441 mixinApplication.subclassName = name; | |
| 442 } | |
| 443 int modifiers = Modifier.validate(pop()); | 439 int modifiers = Modifier.validate(pop()); |
| 444 List<MetadataBuilder> metadata = pop(); | 440 List<MetadataBuilder> metadata = pop(); |
| 445 library.addNamedMixinApplication(metadata, name, typeVariables, modifiers, | 441 library.addNamedMixinApplication(metadata, name, typeVariables, modifiers, |
| 446 mixinApplication, interfaces, charOffset); | 442 mixinApplication, interfaces, charOffset); |
| 447 checkEmpty(beginToken.charOffset); | 443 checkEmpty(beginToken.charOffset); |
| 448 } | 444 } |
| 449 | 445 |
| 450 @override | 446 @override |
| 451 void endTypeArguments(int count, Token beginToken, Token endToken) { | 447 void endTypeArguments(int count, Token beginToken, Token endToken) { |
| 452 debugEvent("TypeArguments"); | 448 debugEvent("TypeArguments"); |
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 821 Link<Token> handleMemberName(Link<Token> identifiers) { | 817 Link<Token> handleMemberName(Link<Token> identifiers) { |
| 822 if (!isDartLibrary || identifiers.isEmpty) return identifiers; | 818 if (!isDartLibrary || identifiers.isEmpty) return identifiers; |
| 823 return removeNativeClause(identifiers); | 819 return removeNativeClause(identifiers); |
| 824 } | 820 } |
| 825 | 821 |
| 826 @override | 822 @override |
| 827 void debugEvent(String name) { | 823 void debugEvent(String name) { |
| 828 // printEvent(name); | 824 // printEvent(name); |
| 829 } | 825 } |
| 830 } | 826 } |
| OLD | NEW |