Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: pkg/kernel/lib/transformations/method_call.dart

Issue 2890933002: Use LibraryIndex in CoreTypes instead of extending it. (Closed)
Patch Set: Make everything lazy in CoreTypes. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 kernel.transformations.method_call; 5 library kernel.transformations.method_call;
6 6
7 import 'dart:math' as math; 7 import 'dart:math' as math;
8 8
9 import '../ast.dart'; 9 import '../ast.dart';
10 import '../class_hierarchy.dart'; 10 import '../class_hierarchy.dart';
(...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after
883 // Mark the new procedure as visited already (i.e. don't rewrite it again!) 883 // Mark the new procedure as visited already (i.e. don't rewrite it again!)
884 _visited.add(procedure); 884 _visited.add(procedure);
885 885
886 return procedure; 886 return procedure;
887 } 887 }
888 888
889 /// Creates an "new _InvocationMirror(...)" invocation. 889 /// Creates an "new _InvocationMirror(...)" invocation.
890 ConstructorInvocation _createInvocation( 890 ConstructorInvocation _createInvocation(
891 String methodName, Arguments callArguments) { 891 String methodName, Arguments callArguments) {
892 if (_invocationMirrorConstructor == null) { 892 if (_invocationMirrorConstructor == null) {
893 Class clazz = coreTypes.getClass('dart:core', '_InvocationMirror'); 893 Class clazz = coreTypes.invocationMirrorClass;
894 _invocationMirrorConstructor = clazz.constructors[0]; 894 _invocationMirrorConstructor = clazz.constructors[0];
895 } 895 }
896 896
897 // The _InvocationMirror constructor takes the following arguments: 897 // The _InvocationMirror constructor takes the following arguments:
898 // * Method name (a string). 898 // * Method name (a string).
899 // * An arguments descriptor - a list consisting of: 899 // * An arguments descriptor - a list consisting of:
900 // - number of arguments (including receiver). 900 // - number of arguments (including receiver).
901 // - number of positional arguments (including receiver). 901 // - number of positional arguments (including receiver).
902 // - pairs (2 entries in the list) of 902 // - pairs (2 entries in the list) of
903 // * named arguments name. 903 // * named arguments name.
(...skipping 23 matching lines...) Expand all
927 new Arguments([ 927 new Arguments([
928 new StringLiteral(methodName), 928 new StringLiteral(methodName),
929 _fixedLengthList(argumentsDescriptor), 929 _fixedLengthList(argumentsDescriptor),
930 _fixedLengthList(arguments), 930 _fixedLengthList(arguments),
931 new BoolLiteral(false) 931 new BoolLiteral(false)
932 ])); 932 ]));
933 } 933 }
934 934
935 /// Create a fixed length list containing given expressions. 935 /// Create a fixed length list containing given expressions.
936 Expression _fixedLengthList(List<Expression> list) { 936 Expression _fixedLengthList(List<Expression> list) {
937 _listFrom ??= coreTypes.getMember('dart:core', 'List', 'from'); 937 _listFrom ??= coreTypes.listFromConstructor;
938 return new StaticInvocation( 938 return new StaticInvocation(
939 _listFrom, 939 _listFrom,
940 new Arguments([new ListLiteral(list)], 940 new Arguments([new ListLiteral(list)],
941 named: [new NamedExpression("growable", new BoolLiteral(false))], 941 named: [new NamedExpression("growable", new BoolLiteral(false))],
942 types: [const DynamicType()])); 942 types: [const DynamicType()]));
943 } 943 }
944 944
945 /// Creates a new procedure taking given arguments, caching it. 945 /// Creates a new procedure taking given arguments, caching it.
946 /// 946 ///
947 /// Copies any non-given default values for parameters into the new procedure 947 /// Copies any non-given default values for parameters into the new procedure
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
1306 return printStackTrace; 1306 return printStackTrace;
1307 } 1307 }
1308 } 1308 }
1309 1309
1310 class _Pair<K, V> { 1310 class _Pair<K, V> {
1311 final K key; 1311 final K key;
1312 final V value; 1312 final V value;
1313 1313
1314 _Pair(this.key, this.value); 1314 _Pair(this.key, this.value);
1315 } 1315 }
OLDNEW
« no previous file with comments | « pkg/kernel/lib/transformations/continuation.dart ('k') | pkg/kernel/lib/transformations/mixin_full_resolution.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698