Closed
Description
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 tolibyul/AsmParser
). Only the tokensNonExperimentalEnd
andExperimentalEnd
need to be extracted. - A stub version of
experimental/analysis/Analysis
without any annotation logic and with only acheck
function that always reports an error "experimental analysis not yet implemented" and returnsfalse
. - 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 inCompilerStack::generateIR
(instead of invokingexperimental::IRGenerator
just put in a failing assertion as well)
- Including the assertion in
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.
Metadata
Metadata
Assignees
Type
Projects
Status
Done