Skip to content

[TM-87] Instructions should not get flattened

Ilya Peresadin requested to merge pva/tm87-no-flatten into master

Description

Problem: a contract serialisation depends on its precise code. When we flatten instructions we lose information about an original version of the code.

Solution: remove flattening step and corresponding datatypes for AST representation. Where untyped Instr and Op were used, ExpandedOp is used now.

Related issue(s)

https://issues.serokell.io/issue/TM-87

Checklist for your Merge Request

Related changes (conditional)

  • Tests

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
  • Documentation

    • I checked whether I should update the docs and did so if necessary:

Stylistic guide (mandatory)

Edited by Ilya Peresadin

Merge request reports