Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DartDoc support for mixins. (ListBase from dart:collection with incorrect inheritance) #9925

Closed
lrhn opened this issue Apr 16, 2013 · 19 comments
Assignees
Labels

Comments

@lrhn
Copy link
Member

lrhn commented Apr 16, 2013

DartDoc (per api.dartlang.org) doesn't have any entry for the class ListBase in dart:collection.
The ListBase class is defined using a typedef, which may not be supported by DartDoc yet. It's declaration is:
  typedef ListBase = Object with ListMixin;
This declares a non-abstract class, and it should be in DartDoc on equal terms with other classes.

Function-type typedefs are supported (like Comparator).

@alan-knight
Copy link
Contributor

In both the new and old dartdoc ListBase is now shown. It seems to be incorrect that it says it extends Object and implements ListMixin, but otherwise seems ok. Changing description appropriately. I had been looking for an example of mixin use in the core libraries to check that.


Set owner to @alan-knight.
Added this to the M8 milestone.
Removed Area-DartDoc label.
Added Area-DartDocNext, Library-Docgen, Accepted labels.
Changed the title to: "DartDoc support for mixins. (ListBase from dart:collection with incorrect inheritance)".

@lrhn
Copy link
Member Author

lrhn commented Oct 12, 2013

ListBase is actually declared as "typedef ListBase<E> = Object with ListMixin<E>", so the description is correct.

@lrhn
Copy link
Member Author

lrhn commented Oct 12, 2013

Well, not correct if it doesn't mention the mixin, but not completely wrong either.

@alan-knight
Copy link
Contributor

Removed this from the M8 milestone.
Added this to the M9 milestone.

@alan-knight
Copy link
Contributor

We can't do this without support from the dart2js source mirrors.


Removed this from the M9 milestone.
Added this to the Later milestone.

@johnniwinther
Copy link
Member

I have this CL for it: https://codereview.chromium.org/57983002/

@alan-knight
Copy link
Contributor

Removed the owner.

@anders-sandholm
Copy link
Contributor

Removed Area-DartDocNext label.
Added Area-DartDoc label.

@anders-sandholm
Copy link
Contributor

Removed Library-Docgen label.

@alan-knight
Copy link
Contributor

ListBase is fine but repurposing this to show mixins more directly.

@alan-knight
Copy link
Contributor

Set owner to @alan-knight.
Removed Priority-Medium label.
Added Priority-High label.

@johnniwinther
Copy link
Member

Use the helper methods getAppliedMixins, getExplicitInterfaces, getSuperclass, isMixinApplication defined in sdk/lib/_internal/compiler/implementation/mirrors/mirrors_util.dart to user-oriented view upon mixins.

@kevmoo
Copy link
Member

kevmoo commented Mar 17, 2014

Added Pkg-DartDoc label.

@kevmoo
Copy link
Member

kevmoo commented Mar 17, 2014

Removed Area-DartDoc label.
Added Area-Pkg label.

@kevmoo
Copy link
Member

kevmoo commented Apr 7, 2014

Removed Pkg-DartDoc label.
Added Pkg-DocGen label.

@jmesserly
Copy link

I just hit this for https://api.dartlang.org/apidocs/channels/be/dartdoc-viewer/dart-collection.UnmodifiableMapBase

The comment that should get shown is:
/**
 * Basic implementation of an unmodifiable [Map].
 *
 * This class has a basic implementation of all but two of the members of
 * an umodifiable [Map].
 * A simple unmodifiable Map class can be implemented by extending this
 * class and implementing keys and operator[].
 *
 * Modifying operations throw when used.
 * The remaining non-modifying operations are implemented in terms of keys
 * and operator[].
 *
 * The keys iterable should have efficient [length] and [contains]
 * operations, and it should catch concurrent modifications of the keys
 * while iterating.
 *
 * A more efficient implementation is usually possible by overriding
 * some of the other members as well.
 */

instead nothing is displayed...

@kasperl
Copy link

kasperl commented Jul 10, 2014

Removed this from the Later milestone.
Added Oldschool-Milestone-Later label.

@kasperl
Copy link

kasperl commented Jul 10, 2014

Added this to the 1.6 milestone.

@kasperl
Copy link

kasperl commented Jul 10, 2014

Removed Oldschool-Milestone-Later label.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants