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

Unified Diff: pkg/kernel/lib/transformations/mixin_full_resolution.dart

Issue 2859673002: Pass type argument vector to generic functions (if --reify-generic-functions is (Closed)
Patch Set: address review comments and sync 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | runtime/lib/function.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/kernel/lib/transformations/mixin_full_resolution.dart
diff --git a/pkg/kernel/lib/transformations/mixin_full_resolution.dart b/pkg/kernel/lib/transformations/mixin_full_resolution.dart
index 7aadc6e841f4711b04718166e2399536736ffb48..d4c03fc9c8b41343e63357f61e66e3de7bee012a 100644
--- a/pkg/kernel/lib/transformations/mixin_full_resolution.dart
+++ b/pkg/kernel/lib/transformations/mixin_full_resolution.dart
@@ -281,6 +281,7 @@ class SuperCallResolutionTransformer extends Transformer {
// The _InvocationMirror constructor takes the following arguments:
// * Method name (a string).
// * An arguments descriptor - a list consisting of:
+ // - length of passed type argument vector, 0 if none passed.
// - number of arguments (including receiver).
// - number of positional arguments (including receiver).
// - pairs (2 entries in the list) of
@@ -289,9 +290,11 @@ class SuperCallResolutionTransformer extends Transformer {
// * A list of arguments, where the first ones are the positional arguments.
// * Whether it's a super invocation or not.
+ int typeArgsLen = 0; // TODO(regis): Type arguments of generic function.
int numPositionalArguments = callArguments.positional.length + 1;
int numArguments = numPositionalArguments + callArguments.named.length;
List<Expression> argumentsDescriptor = [
+ new IntLiteral(typeArgsLen),
new IntLiteral(numArguments),
new IntLiteral(numPositionalArguments)
];
« no previous file with comments | « no previous file | runtime/lib/function.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698