Closed
Description
This is the dartdoc-implementation issue for dart-lang/sdk#27527.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
This is the dartdoc-implementation issue for dart-lang/sdk#27527.
Activity
devoncarew commentedon Jan 19, 2017
punted to 1.23
mit-mit commentedon Mar 15, 2017
@devoncarew who should this be assigned to?
jcollins-g commentedon Mar 15, 2017
I'm willing to take a look, but it looks like from the description, it will be dependent on analyzer support.
devoncarew commentedon Mar 15, 2017
@jcollins-g, thanks! If this needs a new analyzer library, we can either backport the necessary work to the 0.29 release of analyzer, release an entirely new 0.30 version, or solve the issue by moving dartdoc into the sdk repo.
devoncarew commentedon Mar 15, 2017
It looks like dart_style (dart-lang/dart_style#563) will also need a version of the analyzer w/ generic function type support.
mit-mit commentedon Mar 27, 2017
Analyzer is done!
jcollins-g commentedon Mar 27, 2017
I'll start looking at this today.
dgrove commentedon Mar 28, 2017
The last full push to trunk is Wednesday early morning. Is this likely to land by then?
jcollins-g commentedon Mar 28, 2017
Implementation & tests complete, assuming I understand the feature correctly. Blocking on landing of cl 2778253002, landing a backport of this and related CLs to the analyzer 0.29 branch in SDK, publishing the new analyzer package, and then submitting my change to dartdoc. So it is going to be hard to get all that done in the next several hours.
Declared NewGenericTypedef as below:
/// A typedef with the new style generic function syntax.
typedef NewGenericTypedef<T> = List<T> Function<T>(int);
Screenshots:


keertip commentedon Mar 28, 2017
Looks good! See the generic type info 👍
jcollins-g commentedon Mar 28, 2017
@bwilkerson I think these are the blocking items we need from analyzer:
8 remaining items
jcollins-g commentedon Mar 29, 2017
Now that I understand the feature better I think this really does need to be improved.
New screenshots showing the change:
It's still not great; note how
<S>
appears in some places and<T>
in others, which is confusing. But it seems more correct than before. I decided to place<S>
in the library doc as that seems more consistent with how generic functions (without typedefs) are handled, but I'm open to changing that if there's something that's more intuitive people can suggest.jcollins-g commentedon Mar 29, 2017
CL 2787513003 uploaded for analyzer, generic-function-types branch updated with new tests. dartdoc branch is still pending a published version of analyzer containing these changes.
mit-mit commentedon Apr 3, 2017
@jcollins-g @bwilkerson where are we at with this one?
jcollins-g commentedon Apr 3, 2017
I'm going to tag the branch and manually test dartdoc merged with the SDK today, and we can ship an SDK that contains dartdoc (even though dartdoc head is broken).
jcollins-g commentedon Apr 3, 2017
proposed tag for 0.9.14-dev: b1f60db4e0d1550487d622dd62d8225c96682dc7, on branch generic-function-types
devoncarew commentedon Apr 4, 2017
@jcollins-g, with https://codereview.chromium.org/2795653003/, we're good to close this?
jcollins-g commentedon Apr 5, 2017
Now that the revision is merged to the SDK, I'm OK with removing the 1.23 tag. Don't want to close until we have an analyzer published package containing the changes.
jcollins-g commentedon May 26, 2017
Support is in published dartdoc with 0.12.0.