| 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 library kernel.analyzer.ast_from_analyzer; | 4 library kernel.analyzer.ast_from_analyzer; |
| 5 | 5 |
| 6 import 'package:kernel/ast.dart' as ast; | 6 import 'package:kernel/ast.dart' as ast; |
| 7 import 'package:kernel/frontend/super_initializers.dart'; | 7 import 'package:kernel/frontend/super_initializers.dart'; |
| 8 import 'package:kernel/log.dart'; | 8 import 'package:kernel/log.dart'; |
| 9 import 'package:kernel/type_algebra.dart'; | 9 import 'package:kernel/type_algebra.dart'; |
| 10 import 'package:kernel/transformations/flags.dart'; | 10 import 'package:kernel/transformations/flags.dart'; |
| (...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 } | 722 } |
| 723 } | 723 } |
| 724 return false; | 724 return false; |
| 725 } | 725 } |
| 726 return true; | 726 return true; |
| 727 } | 727 } |
| 728 | 728 |
| 729 /// Throws a NoSuchMethodError corresponding to a call to [memberName] on | 729 /// Throws a NoSuchMethodError corresponding to a call to [memberName] on |
| 730 /// [receiver] with the given [arguments]. | 730 /// [receiver] with the given [arguments]. |
| 731 /// | 731 /// |
| 732 /// If provided, [candiateTarget] provides the expected arity and argument | 732 /// If provided, [candidateTarget] provides the expected arity and argument |
| 733 /// names for the best candidate target. | 733 /// names for the best candidate target. |
| 734 ast.Expression buildThrowNoSuchMethodError( | 734 ast.Expression buildThrowNoSuchMethodError( |
| 735 ast.Expression receiver, String memberName, ast.Arguments arguments, | 735 ast.Expression receiver, String memberName, ast.Arguments arguments, |
| 736 {Element candidateTarget}) { | 736 {Element candidateTarget}) { |
| 737 // TODO(asgerf): When we have better integration with patch files, use | 737 // TODO(asgerf): When we have better integration with patch files, use |
| 738 // the internal constructor that provides a more detailed error message. | 738 // the internal constructor that provides a more detailed error message. |
| 739 ast.Expression candidateArgumentNames; | 739 ast.Expression candidateArgumentNames; |
| 740 if (candidateTarget is FunctionTypedElement) { | 740 if (candidateTarget is FunctionTypedElement) { |
| 741 candidateArgumentNames = new ast.ListLiteral(candidateTarget.parameters | 741 candidateArgumentNames = new ast.ListLiteral(candidateTarget.parameters |
| 742 .map((p) => new ast.StringLiteral(p.name)) | 742 .map((p) => new ast.StringLiteral(p.name)) |
| (...skipping 2344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3087 if (list[i - 1].compareTo(item) == 0) { | 3087 if (list[i - 1].compareTo(item) == 0) { |
| 3088 ++deleted; | 3088 ++deleted; |
| 3089 } else if (deleted > 0) { | 3089 } else if (deleted > 0) { |
| 3090 list[i - deleted] = item; | 3090 list[i - deleted] = item; |
| 3091 } | 3091 } |
| 3092 } | 3092 } |
| 3093 if (deleted > 0) { | 3093 if (deleted > 0) { |
| 3094 list.length -= deleted; | 3094 list.length -= deleted; |
| 3095 } | 3095 } |
| 3096 } | 3096 } |
| OLD | NEW |