| 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 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 | 434 |
| 435 @override | 435 @override |
| 436 void endNamedMixinApplication(Token beginToken, Token classKeyword, | 436 void endNamedMixinApplication(Token beginToken, Token classKeyword, |
| 437 Token equals, Token implementsKeyword, Token endToken) { | 437 Token equals, Token implementsKeyword, Token endToken) { |
| 438 debugEvent("endNamedMixinApplication"); | 438 debugEvent("endNamedMixinApplication"); |
| 439 List<TypeBuilder> interfaces = popIfNotNull(implementsKeyword); | 439 List<TypeBuilder> interfaces = popIfNotNull(implementsKeyword); |
| 440 TypeBuilder mixinApplication = pop(); | 440 TypeBuilder mixinApplication = pop(); |
| 441 List<TypeVariableBuilder> typeVariables = pop(); | 441 List<TypeVariableBuilder> typeVariables = pop(); |
| 442 int charOffset = pop(); | 442 int charOffset = pop(); |
| 443 String name = pop(); | 443 String name = pop(); |
| 444 if (typeVariables != null && mixinApplication is MixinApplicationBuilder) { | |
| 445 mixinApplication.typeVariables = typeVariables; | |
| 446 mixinApplication.subclassName = name; | |
| 447 } | |
| 448 int modifiers = Modifier.validate(pop()); | 444 int modifiers = Modifier.validate(pop()); |
| 449 List<MetadataBuilder> metadata = pop(); | 445 List<MetadataBuilder> metadata = pop(); |
| 450 library.addNamedMixinApplication(metadata, name, typeVariables, modifiers, | 446 library.addNamedMixinApplication(metadata, name, typeVariables, modifiers, |
| 451 mixinApplication, interfaces, charOffset); | 447 mixinApplication, interfaces, charOffset); |
| 452 checkEmpty(beginToken.charOffset); | 448 checkEmpty(beginToken.charOffset); |
| 453 } | 449 } |
| 454 | 450 |
| 455 @override | 451 @override |
| 456 void endTypeArguments(int count, Token beginToken, Token endToken) { | 452 void endTypeArguments(int count, Token beginToken, Token endToken) { |
| 457 debugEvent("TypeArguments"); | 453 debugEvent("TypeArguments"); |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 855 Link<Token> handleMemberName(Link<Token> identifiers) { | 851 Link<Token> handleMemberName(Link<Token> identifiers) { |
| 856 if (!isDartLibrary || identifiers.isEmpty) return identifiers; | 852 if (!isDartLibrary || identifiers.isEmpty) return identifiers; |
| 857 return removeNativeClause(identifiers); | 853 return removeNativeClause(identifiers); |
| 858 } | 854 } |
| 859 | 855 |
| 860 @override | 856 @override |
| 861 void debugEvent(String name) { | 857 void debugEvent(String name) { |
| 862 // printEvent(name); | 858 // printEvent(name); |
| 863 } | 859 } |
| 864 } | 860 } |
| OLD | NEW |