| 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.body_builder; | 5 library fasta.body_builder; |
| 6 | 6 |
| 7 import 'package:front_end/src/fasta/parser/parser.dart' show | 7 import 'package:front_end/src/fasta/parser/parser.dart' show |
| 8 FormalParameterType, | 8 FormalParameterType, |
| 9 optional; | 9 optional; |
| 10 | 10 |
| 11 import 'package:front_end/src/fasta/parser/error_kind.dart' show | 11 import 'package:front_end/src/fasta/parser/error_kind.dart' show |
| 12 ErrorKind; | 12 ErrorKind; |
| 13 | 13 |
| 14 import 'package:front_end/src/fasta/parser/identifier_context.dart' show Identif
ierContext; |
| 15 |
| 14 import 'package:kernel/ast.dart'; | 16 import 'package:kernel/ast.dart'; |
| 15 | 17 |
| 16 import 'package:kernel/clone.dart' show | 18 import 'package:kernel/clone.dart' show |
| 17 CloneVisitor; | 19 CloneVisitor; |
| 18 | 20 |
| 19 import 'package:kernel/transformations/flags.dart' show | 21 import 'package:kernel/transformations/flags.dart' show |
| 20 TransformerFlag; | 22 TransformerFlag; |
| 21 | 23 |
| 22 import 'package:kernel/class_hierarchy.dart' show | 24 import 'package:kernel/class_hierarchy.dart' show |
| 23 ClassHierarchy; | 25 ClassHierarchy; |
| (...skipping 685 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 } | 711 } |
| 710 | 712 |
| 711 Builder computeSetter( | 713 Builder computeSetter( |
| 712 Builder builder, Scope scope, String name, int charOffset) { | 714 Builder builder, Scope scope, String name, int charOffset) { |
| 713 if (builder.isSetter) return builder; | 715 if (builder.isSetter) return builder; |
| 714 if (builder.isGetter) return scope.lookupSetter(name, charOffset, uri); | 716 if (builder.isGetter) return scope.lookupSetter(name, charOffset, uri); |
| 715 return builder.isField ? (builder.isFinal ? null : builder) : null; | 717 return builder.isField ? (builder.isFinal ? null : builder) : null; |
| 716 } | 718 } |
| 717 | 719 |
| 718 @override | 720 @override |
| 719 void handleIdentifier(Token token) { | 721 void handleIdentifier(Token token, IdentifierContext context) { |
| 720 debugEvent("handleIdentifier"); | 722 debugEvent("handleIdentifier"); |
| 721 String name = token.value; | 723 String name = token.value; |
| 722 if (isFirstIdentifier) { | 724 if (isFirstIdentifier) { |
| 723 assert(!inInitializer || this.scope == enclosingScope || | 725 assert(!inInitializer || this.scope == enclosingScope || |
| 724 this.scope.parent == enclosingScope); | 726 this.scope.parent == enclosingScope); |
| 725 // This deals with this kind of initializer: `C(a) : a = a;` | 727 // This deals with this kind of initializer: `C(a) : a = a;` |
| 726 Scope scope = inInitializer ? enclosingScope : this.scope; | 728 Scope scope = inInitializer ? enclosingScope : this.scope; |
| 727 Builder builder = scope.lookup(name, token.charOffset, uri); | 729 Builder builder = scope.lookup(name, token.charOffset, uri); |
| 728 push(builderToFirstExpression(builder, name, token.charOffset)); | 730 push(builderToFirstExpression(builder, name, token.charOffset)); |
| 729 } else { | 731 } else { |
| (...skipping 1966 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2696 } else if (node is TypeDeclarationBuilder) { | 2698 } else if (node is TypeDeclarationBuilder) { |
| 2697 return node.name; | 2699 return node.name; |
| 2698 } else if (node is PrefixBuilder) { | 2700 } else if (node is PrefixBuilder) { |
| 2699 return node.name; | 2701 return node.name; |
| 2700 } else if (node is ThisPropertyAccessor) { | 2702 } else if (node is ThisPropertyAccessor) { |
| 2701 return node.name.name; | 2703 return node.name.name; |
| 2702 } else { | 2704 } else { |
| 2703 return internalError("Unhandled: ${node.runtimeType}"); | 2705 return internalError("Unhandled: ${node.runtimeType}"); |
| 2704 } | 2706 } |
| 2705 } | 2707 } |
| OLD | NEW |