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

Split out experimental analysis #14531

Closed
ekpyron opened this issue Sep 4, 2023 · 0 comments · Fixed by #14538
Closed

Split out experimental analysis #14531

ekpyron opened this issue Sep 4, 2023 · 0 comments · Fixed by #14538
Assignees
Labels
selected for development It's on our short-term development

Comments

@ekpyron
Copy link
Member

ekpyron commented Sep 4, 2023

Split out a first batch of technical infrastructure of #14510 into a PR targetting develop.

Parts that should go into the new PR:

  • The new scanner kind ScannerKind::ExperimentalSolidity and the surrounding scanner changes (including the small change to libyul/AsmParser). Only the tokens NonExperimentalEnd and ExperimentalEnd need to be extracted.
  • A stub version of experimental/analysis/Analysis without any annotation logic and with only a check function that always reports an error "experimental analysis not yet implemented" and returns false.
  • The changes to CompilerStack, i.e. a special path for experimental solidity, invoking `experimental/analysis/Analysis``
    • Including the assertion in CompilerStack::compile and a similar assertion in CompilerStack::generateIR (instead of invoking experimental::IRGenerator just put in a failing assertion as well)

What does not have to be moved right away:

  • Additional tokens
  • Changes to the parser
  • Changes to the NameAndTypeResolver and ReferenceResolver
  • Generally, none of the changes to the currnet analysis steps (like in SyntaxChecker)
  • The additional AST nodes and their annotations and visitor logic
  • The actual logic of experimental/analysis/Analysis.* - we can start from a stub that just always fails, see above
  • The actual analysis steps in experimental/analysis/*
  • Code generation or AST experimental/ast, experimental/codegen

This will cause the existing experimental solidity import tests to fail, but that's fine to accept on develop for now.

@ekpyron ekpyron added the selected for development It's on our short-term development label Sep 4, 2023
@cameel cameel moved this from To do to Needs Review in Solidity Focus Board Sep 7, 2023
@github-project-automation github-project-automation bot moved this from Needs Review to Done in Solidity Focus Board Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
selected for development It's on our short-term development
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants