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

Unified Diff: pkg/analyzer/lib/src/summary/idl.dart

Issue 2028713003: Fix AST-based type inference with explicit type parameters for method calls. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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 | « pkg/analyzer/lib/src/summary/format.fbs ('k') | pkg/analyzer/lib/src/summary/link.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/summary/idl.dart
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index 7f2fe39a9ee6abc83c66e7f92a7efd669587154c..2e1299f5397a9d54e457a10da1d7d3a0560518b0 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -1401,8 +1401,11 @@ enum UnlinkedConstOperation {
* stack (where `m` is obtained from [UnlinkedConst.ints]) into a list (filled
* from the end) and use them as positional arguments. Use the lists of
* positional and names arguments to invoke a method (or a function) with
- * the reference from [UnlinkedConst.references]. Push the result of
- * invocation value into the stack.
+ * the reference from [UnlinkedConst.references]. If `l` is nonzero (where
scheglov 2016/05/31 20:26:01 Consider using a different letter, maybe 'k', beca
Paul Berry 2016/05/31 22:23:39 Done.
+ * `l` is obtained from [UnlinkedConst.ints]), obtain `l` type arguments from
+ * [UnlinkedConst.references] and use them as generic type arguments for the
+ * aforementioned method or function. Push the result of the invocation onto
+ * the stack.
*
* In general `a.b` cannot not be distinguished between: `a` is a prefix and
* `b` is a top-level function; or `a` is an object and `b` is the name of a
@@ -1419,11 +1422,14 @@ enum UnlinkedConstOperation {
* stack (where `m` is obtained from [UnlinkedConst.ints]) into a list (filled
* from the end) and use them as positional arguments. Use the lists of
* positional and names arguments to invoke the method with the name from
- * [UnlinkedConst.strings] of the target popped from the stack, and push the
- * resulting value into the stack.
+ * [UnlinkedConst.strings] of the target popped from the stack. If `l` is
+ * nonzero (where `l` is obtained from [UnlinkedConst.ints]), obtain `l` type
+ * arguments from [UnlinkedConst.references] and use them as generic type
+ * arguments for the aforementioned method. Push the result of the
+ * invocation onto the stack.
*
* This operation should be used for invocation of a method invocation
- * where `target` is know to be an object instance.
+ * where `target` is known to be an object instance.
*/
invokeMethod,
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.fbs ('k') | pkg/analyzer/lib/src/summary/link.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698