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 |