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.analyzer.ast_builder; | 5 library fasta.analyzer.ast_builder; |
6 | 6 |
7 import 'package:front_end/src/fasta/scanner/token.dart' | 7 import 'package:front_end/src/fasta/scanner/token.dart' |
8 show BeginGroupToken, Token; | 8 show BeginGroupToken, Token; |
9 | 9 |
10 import 'package:analyzer/analyzer.dart'; | 10 import 'package:analyzer/analyzer.dart'; |
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1059 toAnalyzerToken(separator), | 1059 toAnalyzerToken(separator), |
1060 initializers, | 1060 initializers, |
1061 redirectedConstructor, | 1061 redirectedConstructor, |
1062 body)); | 1062 body)); |
1063 } | 1063 } |
1064 | 1064 |
1065 @override | 1065 @override |
1066 void endMember() { | 1066 void endMember() { |
1067 debugEvent("Member"); | 1067 debugEvent("Member"); |
1068 } | 1068 } |
| 1069 |
| 1070 @override |
| 1071 void handleVoidKeyword(Token token) { |
| 1072 debugEvent("VoidKeyword"); |
| 1073 // TODO(paulberry): is this sufficient, or do we need to hook the "void" |
| 1074 // keyword up to an element? |
| 1075 handleIdentifier(token); |
| 1076 handleNoTypeArguments(token); |
| 1077 endType(token, token); |
| 1078 } |
1069 } | 1079 } |
1070 | 1080 |
1071 /// Data structure placed on the stack to represent a class body. | 1081 /// Data structure placed on the stack to represent a class body. |
1072 /// | 1082 /// |
1073 /// This is needed because analyzer has no separate AST representation of a | 1083 /// This is needed because analyzer has no separate AST representation of a |
1074 /// class body; it simply stores all of the relevant data in the | 1084 /// class body; it simply stores all of the relevant data in the |
1075 /// [ClassDeclaration] object. | 1085 /// [ClassDeclaration] object. |
1076 class _ClassBody { | 1086 class _ClassBody { |
1077 final Token beginToken; | 1087 final Token beginToken; |
1078 | 1088 |
(...skipping 12 matching lines...) Expand all Loading... |
1091 /// [ClassDeclaration] or [ClassTypeAlias] object. | 1101 /// [ClassDeclaration] or [ClassTypeAlias] object. |
1092 class _MixinApplication { | 1102 class _MixinApplication { |
1093 final TypeName supertype; | 1103 final TypeName supertype; |
1094 | 1104 |
1095 final Token withKeyword; | 1105 final Token withKeyword; |
1096 | 1106 |
1097 final List<TypeName> mixinTypes; | 1107 final List<TypeName> mixinTypes; |
1098 | 1108 |
1099 _MixinApplication(this.supertype, this.withKeyword, this.mixinTypes); | 1109 _MixinApplication(this.supertype, this.withKeyword, this.mixinTypes); |
1100 } | 1110 } |
OLD | NEW |