objectionary / jeo-maven-plugin

This Maven plugin converts Java Bytecode binary files to EOLANG programs that use the "opcode" atom
https://www.objectionary.com/jeo-maven-plugin/
MIT License
11 stars 3 forks source link

Not all `jeo` objects are defined by `+alias` #883

Open yegor256 opened 1 day ago

yegor256 commented 1 day ago

I see this code in XMIR generated by jeo:disassemble:

  [...]
   <metas>
      <meta>
         <head>package</head>
         <tail>j$org.j$eolang.j$benchmark</tail>
         <part>j$org.j$eolang.j$benchmark</part>
      </meta>
      <meta>
         <head>alias</head>
         <tail>jeo.opcode</tail>
         <part>jeo.opcode</part>
      </meta>
      <meta>
         <head>alias</head>
         <tail>jeo.label</tail>
         <part>jeo.label</part>
      </meta>
   </metas>
   <objects>
      <o abstract="" name="j$Big">
         <o base="jeo.int" line="643600858" name="version"><!-- 52 -->
            <o base="org.eolang.bytes" data="bytes">00 00 00 00 00 00 00 34</o>
         </o>
  [...]

Here, the jeo.int in the @base attribute doesn't mean Q.jeo.int, but instead it means j$Big.jeo.int. In order to mean Q.jeo.int it must be mentioned in the alias, just like it's done with the jeo.label. All jeo.* objects must have their aliases.

yegor256 commented 1 day ago

@volodya-lombrozo please, check

0pdd commented 20 hours ago

@yegor256 the puzzle #890 is still not solved.

volodya-lombrozo commented 24 minutes ago

@yegor256 This one should be solved in the 0.6.20 version.