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

Implementation Issue for SuperMixins: Analyzer #34164

Closed
19 of 22 tasks
Tracked by #12
JekCharlsonYu opened this issue Aug 16, 2018 · 8 comments
Closed
19 of 22 tasks
Tracked by #12

Implementation Issue for SuperMixins: Analyzer #34164

JekCharlsonYu opened this issue Aug 16, 2018 · 8 comments
Assignees
Labels
area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. P1 A high priority bug; for example, a single project is unusable or has many test failures type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)
Milestone

Comments

@JekCharlsonYu
Copy link
Contributor

JekCharlsonYu commented Aug 16, 2018

What: Issue for implementation for Analyzer

ETA: 10/15 in Dart Repo.

For: SuperMixins Implementation and strawman documentation

Meta Issue: This is subsumed under the Super Mixins Meta Issue in the Language Repo

Analyzer Tasks

  • Add the AST nodes required to represent the new mixin syntax
  • Add support to AstBuilder to build the AST (dependent on the fasta parser work) - @danrubel
    • Add parser recovery for mixin header similar to class header - @danrubel
  • Add support to the element model to represent the semantics of mixins - @bwilkerson
  • Add support for the new mixins to summary files - @scheglov
  • Add support for resolving the new mixin syntax - @scheglov
  • Add support for building the new mixin element model - @scheglov
  • Add error checking related to the new mixin semantics (mostly done)

Analysis Server Tasks

  • Add indexing/search support - @scheglov
  • Add code completion support
    • keyword completion - @bwilkerson
    • completion in on clause - @bwilkerson
    • new mixins should not be suggested in extends clauses - @bwilkerson
    • new mixins should not be suggested in instance creations
  • Add folding support - @bwilkerson
  • Add outline support - @bwilkerson
  • Add syntax highlighting support - @bwilkerson
  • Add hover support - @bwilkerson
  • Add quick fixes for new errors - @scheglov
  • Add a quick assist to convert existing classes to the new syntax (when appropriate)
    • Initially available at declaration sites - @bwilkerson
    • Eventually available at use sites as well - @danrubel
@JekCharlsonYu JekCharlsonYu added P1 A high priority bug; for example, a single project is unusable or has many test failures area-analyzer-cfe labels Aug 16, 2018
@JekCharlsonYu JekCharlsonYu added this to the Dart2.1 milestone Aug 16, 2018
@devoncarew devoncarew removed their assignment Aug 17, 2018
@bwilkerson bwilkerson self-assigned this Aug 22, 2018
@bwilkerson bwilkerson added area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. and removed area-analyzer-cfe labels Aug 22, 2018
@scheglov scheglov self-assigned this Aug 22, 2018
@bwilkerson bwilkerson added the type-bug Incorrect behavior (everything from a crash to more subtle misbehavior) label Aug 27, 2018
@danrubel
Copy link

Parsing, events, parse errors, recovery, and AstBuilder mods are now complete.

@danrubel danrubel removed their assignment Aug 31, 2018
@leafpetersen
Copy link
Member

Do we have an estimate on when error checking will land?

@bwilkerson
Copy link
Member

Error checking has started to land, but is not yet complete.

@leafpetersen
Copy link
Member

CL out here with mixin inference tests: https://dart-review.googlesource.com/c/sdk/+/74017

@leafpetersen
Copy link
Member

Inference tests have landed. cc @scheglov

mixin_declaration/mixin_declaration_inference_valid_classes_test: CompileTimeError # #34164

@bwilkerson
Copy link
Member

I created #34661 to capture the rest of the rest of the work on the quick assist. There are many errors that need quick fixes besides the new ones added for this feature, so I didn't create an issue for those.

Those are both nice to haves, so I'm marking this as done.

@DanTup
Copy link
Collaborator

DanTup commented Nov 21, 2018

@bwilkerson There's a tick above next to "keyword completion" - is this expected to be in master? I don't see it using yesterdays nightly build (2.2.0-edge.f6c41ac3bc4ca689de745588c282425c9adf8262):

screen shot 2018-11-21 at 10 55 42 am

I do get it for other keywords (for ex abstract).

@bwilkerson
Copy link
Member

Yes, I would have expected that to have been on master. I'm seeing the same behavior from the latest analyzer branch, so it appears to be a regression.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. P1 A high priority bug; for example, a single project is unusable or has many test failures type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)
Projects
None yet
Development

No branches or pull requests

8 participants