Skip to content

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

@devoncarew

Description

@devoncarew

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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions