| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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.parser.listener; | 5 library fasta.parser.listener; |
| 6 | 6 |
| 7 import '../scanner/token.dart' show BeginGroupToken, Token; | 7 import '../scanner/token.dart' show BeginGroupToken, Token; |
| 8 | 8 |
| 9 import '../util/link.dart' show Link; | 9 import '../util/link.dart' show Link; |
| 10 | 10 |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 void handleFunctionBodySkipped(Token token) {} | 237 void handleFunctionBodySkipped(Token token) {} |
| 238 | 238 |
| 239 void beginFunctionName(Token token) {} | 239 void beginFunctionName(Token token) {} |
| 240 | 240 |
| 241 void endFunctionName(Token token) { | 241 void endFunctionName(Token token) { |
| 242 logEvent("FunctionName"); | 242 logEvent("FunctionName"); |
| 243 } | 243 } |
| 244 | 244 |
| 245 void beginFunctionTypeAlias(Token token) {} | 245 void beginFunctionTypeAlias(Token token) {} |
| 246 | 246 |
| 247 /// Handle the end of a typedef declaration. Substructures: | 247 /// Handle the end of a typedef declaration. |
| 248 /// |
| 249 /// If [equals] is null, then we have the following substructures: |
| 248 /// - Metadata | 250 /// - Metadata |
| 249 /// - Return type | 251 /// - Return type |
| 250 /// - Name (identifier) | 252 /// - Name (identifier) |
| 251 /// - Type variables | 253 /// - Template variables (type variables to the template) |
| 252 /// - Formal parameters | 254 /// - Formal parameters |
| 253 void endFunctionTypeAlias(Token typedefKeyword, Token endToken) { | 255 /// |
| 256 /// If [equals] is not null, then the have the following substructures: |
| 257 /// - Metadata |
| 258 /// - Name (identifier) |
| 259 /// - Template variables (type variables to the template) |
| 260 /// - Type (FunctionTypeAnnotation) |
| 261 void endFunctionTypeAlias( |
| 262 Token typedefKeyword, Token equals, Token endToken) { |
| 254 logEvent("FunctionTypeAlias"); | 263 logEvent("FunctionTypeAlias"); |
| 255 } | 264 } |
| 256 | 265 |
| 257 void beginMixinApplication(Token token) {} | 266 void beginMixinApplication(Token token) {} |
| 258 | 267 |
| 259 /// Handle the end of a mixin application construct (e.g. "A with B, C"). | 268 /// Handle the end of a mixin application construct (e.g. "A with B, C"). |
| 260 /// Substructures: | 269 /// Substructures: |
| 261 /// - supertype | 270 /// - supertype |
| 262 /// - mixin types (TypeList) | 271 /// - mixin types (TypeList) |
| 263 void endMixinApplication() { | 272 void endMixinApplication() { |
| 264 logEvent("MixinApplication"); | 273 logEvent("MixinApplication"); |
| 265 } | 274 } |
| 266 | 275 |
| 267 void beginNamedMixinApplication(Token beginToken, Token name) {} | 276 void beginNamedMixinApplication(Token beginToken, Token name) {} |
| 268 | 277 |
| 269 /// Handle the end of a named mixin declaration. Substructures: | 278 /// Handle the end of a named mixin declaration. Substructures: |
| 270 /// - metadata | 279 /// - metadata |
| 271 /// - modifiers | 280 /// - modifiers |
| 272 /// - class name | 281 /// - class name |
| 273 /// - type variables | 282 /// - type variables |
| 274 /// - mixin application | 283 /// - mixin application |
| 275 /// - implemented types (TypeList) | 284 /// - implemented types (TypeList) |
| 276 /// | 285 /// |
| 277 /// TODO(paulberry,ahe): it seems incosistent that for a named mixin | 286 /// TODO(paulberry,ahe): it seems inconsistent that for a named mixin |
| 278 /// application, the implemented types are a TypeList, whereas for a class | 287 /// application, the implemented types are a TypeList, whereas for a class |
| 279 /// declaration, each implemented type is listed separately on the stack, and | 288 /// declaration, each implemented type is listed separately on the stack, and |
| 280 /// the number of implemented types is passed as a parameter. | 289 /// the number of implemented types is passed as a parameter. |
| 281 void endNamedMixinApplication(Token begin, Token classKeyword, Token equals, | 290 void endNamedMixinApplication(Token begin, Token classKeyword, Token equals, |
| 282 Token implementsKeyword, Token endToken) { | 291 Token implementsKeyword, Token endToken) { |
| 283 logEvent("NamedMixinApplication"); | 292 logEvent("NamedMixinApplication"); |
| 284 } | 293 } |
| 285 | 294 |
| 286 void beginHide(Token hideKeyword) {} | 295 void beginHide(Token hideKeyword) {} |
| 287 | 296 |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 637 } | 646 } |
| 638 | 647 |
| 639 void handleFinallyBlock(Token finallyKeyword) { | 648 void handleFinallyBlock(Token finallyKeyword) { |
| 640 logEvent("FinallyBlock"); | 649 logEvent("FinallyBlock"); |
| 641 } | 650 } |
| 642 | 651 |
| 643 void endTryStatement(int catchCount, Token tryKeyword, Token finallyKeyword) { | 652 void endTryStatement(int catchCount, Token tryKeyword, Token finallyKeyword) { |
| 644 logEvent("TryStatement"); | 653 logEvent("TryStatement"); |
| 645 } | 654 } |
| 646 | 655 |
| 647 void endType(Token beginToken, Token endToken) { | 656 void handleType(Token beginToken, Token endToken) { |
| 648 logEvent("Type"); | 657 logEvent("Type"); |
| 649 } | 658 } |
| 650 | 659 |
| 660 void handleNoName(Token token) { |
| 661 logEvent("NoName"); |
| 662 } |
| 663 |
| 664 void handleFunctionType(Token functionToken, Token endToken) { |
| 665 logEvent("FunctionType"); |
| 666 } |
| 667 |
| 651 void beginTypeArguments(Token token) {} | 668 void beginTypeArguments(Token token) {} |
| 652 | 669 |
| 653 void endTypeArguments(int count, Token beginToken, Token endToken) { | 670 void endTypeArguments(int count, Token beginToken, Token endToken) { |
| 654 logEvent("TypeArguments"); | 671 logEvent("TypeArguments"); |
| 655 } | 672 } |
| 656 | 673 |
| 657 void handleNoTypeArguments(Token token) { | 674 void handleNoTypeArguments(Token token) { |
| 658 logEvent("NoTypeArguments"); | 675 logEvent("NoTypeArguments"); |
| 659 } | 676 } |
| 660 | 677 |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 927 | 944 |
| 928 final Map arguments; | 945 final Map arguments; |
| 929 | 946 |
| 930 ParserError(this.beginOffset, this.endOffset, this.kind, this.arguments); | 947 ParserError(this.beginOffset, this.endOffset, this.kind, this.arguments); |
| 931 | 948 |
| 932 ParserError.fromTokens(Token begin, Token end, ErrorKind kind, Map arguments) | 949 ParserError.fromTokens(Token begin, Token end, ErrorKind kind, Map arguments) |
| 933 : this(begin.charOffset, end.charOffset + end.charCount, kind, arguments); | 950 : this(begin.charOffset, end.charOffset + end.charCount, kind, arguments); |
| 934 | 951 |
| 935 String toString() => "@${beginOffset}: $kind $arguments"; | 952 String toString() => "@${beginOffset}: $kind $arguments"; |
| 936 } | 953 } |
| OLD | NEW |