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

[out of date] Analyzer ready for Dart 2.0 #31642

Closed
6 of 37 tasks
devoncarew opened this issue Dec 13, 2017 · 9 comments
Closed
6 of 37 tasks

[out of date] Analyzer ready for Dart 2.0 #31642

devoncarew opened this issue Dec 13, 2017 · 9 comments
Labels
area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion.
Milestone

Comments

@devoncarew
Copy link
Member

devoncarew commented Dec 13, 2017

This is a meta issue for tracking getting the analyzer ready for Dart 2.0.

Dart 2.0 support in the current front end:

Analyzer integrated with the new front end:

  • Scanner integration
  • Parser integration
    • parser completeness measured by a script
    • build AST with FE's parser [status: ast_builder w/ error recovery in progress]
    • Full coverage of parser error messages in FE
      • Every message produced by analyzer's parser should also be produced by FE's parser
    • Error recovery [status: in progress]
      • all error recovery scenarios modeled in analyzer's parser also handled by FE's parser
      • run all analyzer, analysis server (including code-completion), and dartfmt tests
  • Error integration
    • spec errors copied from the FE; lints and hints from the analyzer
    • previously calculated errors are available to analyzer
  • Element model and type-system integration
    • Synthesize element-model from kernel outline files
      • Implement synthesis for non-erroneous input
      • Implement synthesis for erroneous input: this requires kernel-format changes to represent erroneous code
    • Full coverage of type-system error messages
      • Every type-system error detected by analyzer's type checker are covered by FE's type-checker as well
    • Analyzer uses FE’s local type-inference information inside method bodies
  • Compile time constants
    • evaluation of compile-time constants
  • Benchmarking
  • Analysis server integration tests
  • Command line analyzer (dartanalyzer supports --preview-dart-2)
    • --preview-dart-2 flag added
    • dartanalyzer tests duplicated to run both with and without --preview-dart-2
    • preview-dart-2 tests triaged and failures addressed tracking issue for dartanalyzer CLI test failures with --use-cfe #31655
    • determine whether dartanalyzer build mode requires porting to --preview-dart-2
      • port dartanalyzer build mode to work with --preview-dart-2
  • Kythe support ready for Dart 2.0 Migrate Kythe support to the new analyzer API #31645 [meta]
@devoncarew devoncarew added analyzer-preview-dart-2 area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. area-meta Cross-cutting, high-level issues (for tracking many other implementation issues, ...). labels Dec 13, 2017
@devoncarew
Copy link
Member Author

@jwren, is there known work or investigation to ensure that our kythe support continues to work after the new FE integration? If so, can you create a meta issue to track that work and link it back to here?

@devoncarew devoncarew changed the title analyzer ready for Dart 2.0 Analyzer ready for Dart 2.0 Dec 13, 2017
@jwren
Copy link
Member

jwren commented Dec 13, 2017

Created #31645

@devoncarew
Copy link
Member Author

@bwilkerson @sigmundch re: evaluation of compile-time constants above - just confirming that we currently expect that this will need to be re-implemented in analyzer?

@devoncarew
Copy link
Member Author

@scheglov @MichaelRFairhurst can you vet the Error integration section items above? If those look good, we could link to issues for each item.

@devoncarew
Copy link
Member Author

@danrubel can you review the Parser integration section?

@danrubel
Copy link

Parser integration section LGTM

@sigmundch
Copy link
Member

re: compile-time constants, yes, that's my understanding too. Dart2js had to do it too.

@devoncarew devoncarew changed the title Analyzer ready for Dart 2.0 [out of date] Analyzer ready for Dart 2.0 Jun 20, 2018
@devoncarew
Copy link
Member Author

I'm going to re-purpose this for the new AnalyzerCFE milestone, and likely break it out into new issues.

@devoncarew devoncarew added this to the AnalyzerCFE milestone Jun 20, 2018
@devoncarew devoncarew added area-analyzer-cfe and removed analyzer-preview-dart-2 area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. labels Jun 20, 2018
@JekCharlsonYu JekCharlsonYu modified the milestone: AnalyzerCFE Jun 27, 2018
@munificent munificent added area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. and removed area-meta Cross-cutting, high-level issues (for tracking many other implementation issues, ...). labels Jul 11, 2018
@bwilkerson
Copy link
Member

I'm guessing that this is no longer useful, so I'm closing it.

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.
Projects
None yet
Development

No branches or pull requests

7 participants