Skip to content

PHI/UNPHI Removes Objects With as Attribute #3820

Description

@volodya-lombrozo

I run the following integration test:

bytecode -> (disassemble) xmir -> phi -> unphi -> unroll -> xmir (assemble) -> bytecode.

And this test fails because phi/unphi alter the original xmir file.

Steps to reproduce:

  1. I generate App.xmir from App.class file (jeo:disassemble).
  2. Then I use eo:0.50.0:xmir-to-phi to generate App.phi (eo:xmir-to-phi).
  3. Then I run eo:0.50.0:phi-to-xmir to generate App.xmir (eo:phi-to-xmir).
  4. Then I run jeo:unroll and get exceptions about incorrect xmir (jeo:unroll`).

Actually, phi/unphi loose <o as="body-1299402125" base="jeo.seq.of3"> object. Later I see the following error:

Can't find object with attribute as='body' in ...

Expected behaviour:

App.xmir.disassemble.txt and App.xmir.unphi.txt files should be the same. In other words, phi/unphi does not
have to change the original xmir file.

Actual behaviour:

App.xmir.disassemble.txt and App.xmir.unphi.txt files are different. phi/unphi significantly changes the original xmir.

Details:

App.phi.txt
App.xmir.disassemble.txt
App.xmir.unphi.txt
App.xmir.unroll.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions