-
Notifications
You must be signed in to change notification settings - Fork 118
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
[Class modifiers] dartdoc implementation #3329
Comments
There is real work to do here. If you take this table, we will basically have a getter on each ClassElement for each of the columns aside from Declaration, and will have to do the calculation to guess at what the Declaration was. Or perhaps ClassElement can have getters that do the logic like CC @kallentu @bwilkerson for any thoughts. Or, if we're saying that developers don't want to know if a class is modified with |
@srawlins What work is needed for this? I'm not sure what we're presenting. |
@jcollins-g may be planning to work on this. I'm not sure what exactly we should present, or how. But one example is that we show the word 'abstract' in the breadcrumbs for an abstract class like List. |
@kallentu #3354 introduced some basic support that simply translates across the declaration. To complete this support we'll need to add handling for the inferred modifiers once this is added to the analyzer and published, so we're blocked on that bit. (We could of course do that here, too, but I think it's a bad idea to duplicate that functionality.) |
I said this in comments elsewhere, but to reiterate here. The core design principle of this feature is that users never need to reason about how modifiers combine. For example, if a class says "base", then it can be extended (anywhere). It would be extremely unfortunate if dartdoc broke this model by surfacing the transitive |
"Inferred modifiers" will not be displayed as though they were real class modifiers to avoid this confusion. There may be some other indication that a class supertype is |
This is now complete. |
No description provided.
The text was updated successfully, but these errors were encountered: