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

NumberFormatException: For input string: "" under radix 16 #687

Closed
yegor256 opened this issue Sep 2, 2024 · 26 comments
Closed

NumberFormatException: For input string: "" under radix 16 #687

yegor256 opened this issue Sep 2, 2024 · 26 comments
Assignees
Labels
bug Something isn't working

Comments

@yegor256
Copy link
Member

yegor256 commented Sep 2, 2024

  [INFO] >> Caused by: java.lang.NumberFormatException: For input string: "" under radix 16
  [INFO] >>     at java.lang.NumberFormatException.forInputString (NumberFormatException.java:67)
  [INFO] >>     at java.lang.Integer.parseInt (Integer.java:672)
  [INFO] >>     at org.eolang.jeo.representation.xmir.HexString.decodeAsInt (HexString.java:87)
  [INFO] >>     at org.eolang.jeo.representation.xmir.XmlClassProperties.version (XmlClassProperties.java:122)
  [INFO] >>     at org.eolang.jeo.representation.xmir.XmlClassProperties.toBytecodeProperties (XmlClassProperties.java:133)
  [INFO] >>     at org.eolang.jeo.representation.xmir.XmlBytecode.bytecode (XmlBytecode.java:87)
  [INFO] >>     at org.eolang.jeo.representation.XmirRepresentation.toBytecode (XmirRepresentation.java:143)
  [INFO] >>     at org.eolang.jeo.Assemble.apply (Assemble.java:59)
  [INFO] >>     at org.eolang.jeo.LoggedTranslation.apply (LoggedTranslation.java:84)
  [INFO] >>     at org.eolang.jeo.BachedTranslator.translate (BachedTranslator.java:71)
  [INFO] >>     at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:197)
  [INFO] >>     at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:197)
  [INFO] >>     at java.util.stream.ReferencePipeline$2$1.accept (ReferencePipeline.java:179)
  [INFO] >>     at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:197)
  [INFO] >>     at java.util.Spliterators$ArraySpliterator.forEachRemaining (Spliterators.java:1024)
  [INFO] >>     at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:509)
  [INFO] >>     at java.util.stream.ForEachOps$ForEachTask.compute (ForEachOps.java:291)
  [INFO] >>     at java.util.concurrent.CountedCompleter.exec (CountedCompleter.java:754)
  [INFO] >>     at java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:387)
  [INFO] >>     at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec (ForkJoinPool.java:1312)
  [INFO] >>     at java.util.concurrent.ForkJoinPool.scan (ForkJoinPool.java:1843)
  [INFO] >>     at java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1808)
  [INFO] >>     at java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java:188)

I'm getting this after the following element in XMIR:

<o base=".string" name="signature">
               <o base=".eolang">
                  <o base=".org">
                     <o base="Q"/>
                  </o>
               </o>
               <o as="0" base=".bytes">
                  <o base=".eolang">
                     <o base=".org">
                        <o base="Q"/>
                     </o>
                  </o>
                  <o base="org.eolang.bytes" data="bytes"/>
               </o>
            </o>

This line (<o base="org.eolang.bytes" data="bytes"/>), I believe, is a legal representation of an empty chain of bytes. It must be correctly processed by JEO.

@yegor256 yegor256 added the bug Something isn't working label Sep 2, 2024
@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo volodya-lombrozo added the soon This issue will be solved soon label Sep 2, 2024
@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo btw, jeo:disassemble generates this (which is correct):

...
         <o abstract="" name="j$foo-KClE">
            <o base="int" data="bytes" line="592052178" name="access">00 00 00 00 00 00 00 00</o>
            <o base="string" data="bytes" line="859086335" name="descriptor">28 29 44</o>
            <o base="string" data="bytes" line="821201258" name="signature"/>
...

@volodya-lombrozo
Copy link
Member

@yegor256 I'm still trying to reproduce the problem now. But to be honest, <o base="org.eolang.bytes" data="bytes"/> isn't such a good object. What this originally should be? null value? 0 value? If it's an object, it's ok, but if its a primitive value like int or byte - we can't allow it.

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo this EO code (it's empty byte-array):

send --

must render in XMIR as such:

<o base="send">
  <o base="org.eolang.bytes" data="bytes"/>
</o>

It's perfectly legal.

@volodya-lombrozo
Copy link
Member

@yegor256 I've finally checked the entire logs of this job https://github.com/objectionary/hone-maven-plugin/actions/runs/10663836285/job/29553850114

And it seems, that you completely skip opeo step.

From logs:

....
jeo:disassemble 
....
eo:xmir-to-phi
....
eo:phi-to-xmir
....
jeo:assemble
....

Here is the problem. xmir-to-phi (instead of just printing PHI expressions,) also dramatically changes the original XMIR ("optimises" it), so the new representation of XMIR isn't suitable for jeo.

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo yes, this is true, but the problem still exists: jeo:assemble must understand this XMIR correctly. (at least because jeo:disassemble produces it 😄 )

@volodya-lombrozo
Copy link
Member

volodya-lombrozo commented Sep 2, 2024

@yegor256 It's not jeo:disassemble produces it. eo:xmir-to-phi and eo:phi-to-xmir produce this. If you run your pipeline without them:

....
jeo:disassemble 
....
....
jeo:assemble
....

You will see, that everything works fine (without exceptions.)

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo checkout this repo, run mvn clean test and then see the content of target/simple-app/target/generated-sources/ directory. In the jeo-disassemble/ directory, you will find Hello.xmir file with this line inside: <o base="string" data="bytes" line="1094858495" name="signature"/>. If I'm not mistaken, this file is generated by jeo:disassemble.

Regardless of who generates it, an empty byte-array is a legal thing in EO (just like empty strings are legal in other languages). JEO should not fail on them.

@volodya-lombrozo
Copy link
Member

volodya-lombrozo commented Sep 2, 2024

@yegor256

git clone [email protected]:objectionary/hone-maven-plugin.git 
cd hone-maven-plugin
mvn clean test

[ERROR] Tests run: 7, Failures: 2, Errors: 0, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE


find . -name "Hello.xmir"
<nothing is found>

@volodya-lombrozo volodya-lombrozo removed the soon This issue will be solved soon label Sep 2, 2024
@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo I'm getting this:

$ find . -name Hello.xmir
./target/simple-app/target/generated-sources/unphi/Hello.xmir
./target/simple-app/target/generated-sources/jeo-disassemble/Hello.xmir

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo do you have docker installed? You should, in order to get the output I'm getting.

@volodya-lombrozo
Copy link
Member

volodya-lombrozo commented Sep 2, 2024

@yegor256 Yes, I do have it:

docker --version
Docker version 20.10.11, build dea9396

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo anyway, let's skip the part "why this happens in XMIR?" Let's just make JEO not fail on this XMIR, since it's a valid XMIR. How it's generated and why - shouldn't matter.

@volodya-lombrozo
Copy link
Member

@yegor256 Maybe It's a valid XMIR, but it has invalid format for jeo.

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo we have only one XMIR format :) It must work for all tools. Empty byte-arrays are valid elements of EO/XMIR.

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo try to use this EO program:

# this is object.
[] > app
  QQ.io.stdout > @
    ""

Then, compile it with eoc. You will get this app.xmir:

<?xml version="1.0" encoding="UTF-8"?>
<program dob="2024-05-22T13:54:22"
         ms="84"
         name="app"
         revision="48e8be4"
         source="/Volumes/sec/code/tmp/eo/app.eo"
         time="2024-09-02T13:22:41.335753Z"
         version="0.38.2"><!--This is XMIR - a dialect of XML, which is used to present a parsed EO program. For more information please visit https://news.eolang.org/2022-11-25-xmir-guide.html-->
   <listing># this is object.
[] &gt; app
  QQ.io.stdout &gt; @
    ""
</listing>
   <errors>
      <error check="comment-length-check" line="1" severity="warning">Comment must be at least 64 characters long</error>
      <error check="comment-start-character-check" line="1" severity="warning">Comment must start with capital letter</error>
   </errors>
   <sheets/>
   <license/>
   <metas/>
   <objects>
      <o abstract="" line="2" name="app" pos="0">
         <o base="QQ" line="3" pos="2"/>
         <o base=".io" line="3" method="" pos="4"/>
         <o base=".stdout" line="3" method="" name="@" pos="7">
            <o base="string" data="bytes" line="4" pos="4"/>
         </o>
      </o>
   </objects>
</program>

See the line:

<o base="string" data="bytes" line="4" pos="4"/>

@volodya-lombrozo
Copy link
Member

volodya-lombrozo commented Sep 2, 2024

@yegor256 I'm not against that jeo should understand the <o base="string" data="bytes" line="4" pos="4"/> line :)
Moreover I use such lines extensively in the project:

git clone [email protected]:objectionary/jeo-maven-plugin.git
cd  jeo-maven-plugin
mvn clean install
grep -r -E '<o base="string" data="bytes" line="[^"]*" name="signature"/>' .
As you can see, there are lots of places where we use this
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$1.xmir:            <o base="string" data="bytes" line="844580924" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$1.xmir:            <o base="string" data="bytes" line="628621516" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Language.xmir:            <o base="string" data="bytes" line="2003985006" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Language.xmir:            <o base="string" data="bytes" line="727201432" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Developer.xmir:            <o base="string" data="bytes" line="2115313768" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$3.xmir:            <o base="string" data="bytes" line="1188463166" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$3.xmir:            <o base="string" data="bytes" line="1755377313" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$2.xmir:            <o base="string" data="bytes" line="1151368760" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$2.xmir:            <o base="string" data="bytes" line="1018794162" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1038927279" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="297518998" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$4.xmir:            <o base="string" data="bytes" line="1353386092" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$4.xmir:            <o base="string" data="bytes" line="219364576" name="signature"/>
./target/it/takes/target/generated-sources/jeo-xmir/org/eolang/jeo/takes/Application$TimeLog.xmir:            <o base="string" data="bytes" line="1463074458" name="signature"/>
./target/it/takes/target/generated-sources/jeo-xmir/org/eolang/jeo/takes/Application.xmir:            <o base="string" data="bytes" line="1658702616" name="signature"/>
./target/it/takes/target/generated-sources/jeo-xmir/org/eolang/jeo/takes/Application.xmir:            <o base="string" data="bytes" line="2142856821" name="signature"/>
./target/it/takes/target/generated-sources/jeo-xmir/org/eolang/jeo/takes/Application$RequestCounter.xmir:            <o base="string" data="bytes" line="117566954" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/F.xmir:            <o base="string" data="bytes" line="1582648448" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/Main.xmir:            <o base="string" data="bytes" line="1830612924" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/Main.xmir:            <o base="string" data="bytes" line="2042354926" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/App.xmir:            <o base="string" data="bytes" line="317493981" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/App.xmir:            <o base="string" data="bytes" line="1275590854" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/A.xmir:            <o base="string" data="bytes" line="1386123014" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/A.xmir:            <o base="string" data="bytes" line="1226232079" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/B.xmir:            <o base="string" data="bytes" line="401655181" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/B.xmir:            <o base="string" data="bytes" line="325475782" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerInstance.xmir:            <o base="string" data="bytes" line="698018490" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerInstance.xmir:            <o base="string" data="bytes" line="885981587" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerInstance.xmir:            <o base="string" data="bytes" line="899984651" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerStatic.xmir:            <o base="string" data="bytes" line="804166538" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerStatic.xmir:            <o base="string" data="bytes" line="273896735" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerStatic.xmir:            <o base="string" data="bytes" line="2117498269" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top.xmir:            <o base="string" data="bytes" line="1804043023" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top.xmir:            <o base="string" data="bytes" line="1793924949" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/HelloWorld.xmir:            <o base="string" data="bytes" line="1620399164" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/HelloWorld.xmir:            <o base="string" data="bytes" line="1966676740" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Message.xmir:            <o base="string" data="bytes" line="1245197854" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/WakeUpNeo.xmir:            <o base="string" data="bytes" line="1421607364" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/WakeUpNeo.xmir:            <o base="string" data="bytes" line="1416768820" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1491328937" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="373626750" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="851813506" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1757131356" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="89027231" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="671960297" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="527478893" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1984909074" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="525600056" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="298248684" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="1104642518" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="1610968798" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="385340955" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="803639823" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="1109093406" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/inheritance/SomeException.xmir:            <o base="string" data="bytes" line="1368979442" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/inheritance/SomeException.xmir:            <o base="string" data="bytes" line="1059742245" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/inheritance/OriginalException.xmir:            <o base="string" data="bytes" line="91209052" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/inheritance/OriginalException.xmir:            <o base="string" data="bytes" line="1917809267" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/spring/SwitchInsideLoopCase.xmir:            <o base="string" data="bytes" line="1200095815" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/spring/SwitchInsideLoopCase.xmir:            <o base="string" data="bytes" line="1872527038" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/ResourceWithException.xmir:            <o base="string" data="bytes" line="229539351" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/ResourceWithException.xmir:            <o base="string" data="bytes" line="1757187391" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1814949638" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="887631876" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1828380152" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1092948460" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="931137802" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="967707472" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1051357104" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1307000146" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/MyResource.xmir:            <o base="string" data="bytes" line="493632302" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/MyResource.xmir:            <o base="string" data="bytes" line="488538949" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="345905268" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="263779224" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="668627074" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="1834292121" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="39589846" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="759786209" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="1335786528" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="1531447013" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="1169522857" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="128082605" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="771083509" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="2062986382" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/NestedAnnotation.xmir:            <o base="string" data="bytes" line="1734753740" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/MyEnum.xmir:            <o base="string" data="bytes" line="117523859" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/MyEnum.xmir:            <o base="string" data="bytes" line="674321837" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/MyEnum.xmir:            <o base="string" data="bytes" line="264680810" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/MyEnum.xmir:            <o base="string" data="bytes" line="1853845012" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoMethodAnnotation.xmir:            <o base="string" data="bytes" line="861954245" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoMethodAnnotation.xmir:            <o base="string" data="bytes" line="534958506" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation$InnerEnum.xmir:            <o base="string" data="bytes" line="1474790854" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation$InnerEnum.xmir:            <o base="string" data="bytes" line="1869931485" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation$InnerEnum.xmir:            <o base="string" data="bytes" line="1155409686" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation$InnerEnum.xmir:            <o base="string" data="bytes" line="926186217" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="270380489" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1179933616" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1042077988" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="492928704" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1349676073" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="331818696" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1318281776" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="2045716644" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="971494939" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1847913424" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/ParamAnnotation.xmir:            <o base="string" data="bytes" line="262191306" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="1080304086" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="910286369" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="276202" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="1311082647" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="348379116" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1434661165" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1239427226" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/WithoutPackage.xmir:            <o base="string" data="bytes" line="732858408" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/foo/Foo.xmir:            <o base="string" data="bytes" line="1991210323" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/foo/Foo.xmir:            <o base="string" data="bytes" line="1664888121" name="signature"/>
./target/it/eo-to-bytecode/target/generated-sources/opeo-xmir/org/eolang/spring/WithoutMetas.xmir:        <o base="string" data="bytes" line="144287926" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Receptionist.xmir:            <o base="string" data="bytes" line="1682295114" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Receptionist.xmir:            <o base="string" data="bytes" line="1921701759" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/App.xmir:            <o base="string" data="bytes" line="1833138622" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/App.xmir:            <o base="string" data="bytes" line="238936468" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Application.xmir:            <o base="string" data="bytes" line="557063299" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Application.xmir:            <o base="string" data="bytes" line="51001937" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Application.xmir:            <o base="string" data="bytes" line="1734356143" name="signature"/>
./src/it/eo-to-bytecode/target/generated-sources/opeo-xmir/org/eolang/spring/WithoutMetas.xmir:        <o base="string" data="bytes" line="144287926" name="signature"/>
➜  jeo-maven-plugin git:(master) grep -r -E '<o base="string" data="bytes" line="[^"]*" name="signature"/>' .
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$1.xmir:            <o base="string" data="bytes" line="844580924" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$1.xmir:            <o base="string" data="bytes" line="628621516" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Language.xmir:            <o base="string" data="bytes" line="2003985006" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Language.xmir:            <o base="string" data="bytes" line="727201432" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Developer.xmir:            <o base="string" data="bytes" line="2115313768" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$3.xmir:            <o base="string" data="bytes" line="1188463166" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$3.xmir:            <o base="string" data="bytes" line="1755377313" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$2.xmir:            <o base="string" data="bytes" line="1151368760" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$2.xmir:            <o base="string" data="bytes" line="1018794162" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1038927279" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="297518998" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$4.xmir:            <o base="string" data="bytes" line="1353386092" name="signature"/>
./target/it/generics/target/generated-sources/jeo-xmir/org/eolang/jeo/Application$4.xmir:            <o base="string" data="bytes" line="219364576" name="signature"/>
./target/it/takes/target/generated-sources/jeo-xmir/org/eolang/jeo/takes/Application$TimeLog.xmir:            <o base="string" data="bytes" line="1463074458" name="signature"/>
./target/it/takes/target/generated-sources/jeo-xmir/org/eolang/jeo/takes/Application.xmir:            <o base="string" data="bytes" line="1658702616" name="signature"/>
./target/it/takes/target/generated-sources/jeo-xmir/org/eolang/jeo/takes/Application.xmir:            <o base="string" data="bytes" line="2142856821" name="signature"/>
./target/it/takes/target/generated-sources/jeo-xmir/org/eolang/jeo/takes/Application$RequestCounter.xmir:            <o base="string" data="bytes" line="117566954" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/F.xmir:            <o base="string" data="bytes" line="1582648448" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/Main.xmir:            <o base="string" data="bytes" line="1830612924" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/Main.xmir:            <o base="string" data="bytes" line="2042354926" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/App.xmir:            <o base="string" data="bytes" line="317493981" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/App.xmir:            <o base="string" data="bytes" line="1275590854" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/A.xmir:            <o base="string" data="bytes" line="1386123014" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/A.xmir:            <o base="string" data="bytes" line="1226232079" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/B.xmir:            <o base="string" data="bytes" line="401655181" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/benchmark/B.xmir:            <o base="string" data="bytes" line="325475782" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerInstance.xmir:            <o base="string" data="bytes" line="698018490" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerInstance.xmir:            <o base="string" data="bytes" line="885981587" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerInstance.xmir:            <o base="string" data="bytes" line="899984651" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerStatic.xmir:            <o base="string" data="bytes" line="804166538" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerStatic.xmir:            <o base="string" data="bytes" line="273896735" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top$TopInnerStatic.xmir:            <o base="string" data="bytes" line="2117498269" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top.xmir:            <o base="string" data="bytes" line="1804043023" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/innerclasses/Top.xmir:            <o base="string" data="bytes" line="1793924949" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/HelloWorld.xmir:            <o base="string" data="bytes" line="1620399164" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/HelloWorld.xmir:            <o base="string" data="bytes" line="1966676740" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Message.xmir:            <o base="string" data="bytes" line="1245197854" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/WakeUpNeo.xmir:            <o base="string" data="bytes" line="1421607364" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/WakeUpNeo.xmir:            <o base="string" data="bytes" line="1416768820" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1491328937" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="373626750" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="851813506" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1757131356" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="89027231" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="671960297" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="527478893" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1984909074" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="525600056" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="298248684" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="1104642518" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="1610968798" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="385340955" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="803639823" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/jeo/Bar.xmir:            <o base="string" data="bytes" line="1109093406" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/inheritance/SomeException.xmir:            <o base="string" data="bytes" line="1368979442" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/inheritance/SomeException.xmir:            <o base="string" data="bytes" line="1059742245" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/inheritance/OriginalException.xmir:            <o base="string" data="bytes" line="91209052" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/inheritance/OriginalException.xmir:            <o base="string" data="bytes" line="1917809267" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/spring/SwitchInsideLoopCase.xmir:            <o base="string" data="bytes" line="1200095815" name="signature"/>
./target/it/custom-transformations/target/generated-sources/jeo-xmir/org/eolang/spring/SwitchInsideLoopCase.xmir:            <o base="string" data="bytes" line="1872527038" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/ResourceWithException.xmir:            <o base="string" data="bytes" line="229539351" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/ResourceWithException.xmir:            <o base="string" data="bytes" line="1757187391" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1814949638" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="887631876" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1828380152" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1092948460" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="931137802" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="967707472" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1051357104" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/Application.xmir:            <o base="string" data="bytes" line="1307000146" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/MyResource.xmir:            <o base="string" data="bytes" line="493632302" name="signature"/>
./target/it/exceptions/target/generated-sources/jeo-xmir/org/eolang/jeo/exceptions/MyResource.xmir:            <o base="string" data="bytes" line="488538949" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="345905268" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="263779224" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="668627074" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="1834292121" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="39589846" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="759786209" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="1335786528" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="1531447013" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="1169522857" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="128082605" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="771083509" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation.xmir:            <o base="string" data="bytes" line="2062986382" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/NestedAnnotation.xmir:            <o base="string" data="bytes" line="1734753740" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/MyEnum.xmir:            <o base="string" data="bytes" line="117523859" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/MyEnum.xmir:            <o base="string" data="bytes" line="674321837" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/MyEnum.xmir:            <o base="string" data="bytes" line="264680810" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/MyEnum.xmir:            <o base="string" data="bytes" line="1853845012" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoMethodAnnotation.xmir:            <o base="string" data="bytes" line="861954245" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoMethodAnnotation.xmir:            <o base="string" data="bytes" line="534958506" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation$InnerEnum.xmir:            <o base="string" data="bytes" line="1474790854" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation$InnerEnum.xmir:            <o base="string" data="bytes" line="1869931485" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation$InnerEnum.xmir:            <o base="string" data="bytes" line="1155409686" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/JeoAnnotation$InnerEnum.xmir:            <o base="string" data="bytes" line="926186217" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="270380489" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1179933616" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1042077988" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="492928704" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1349676073" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="331818696" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1318281776" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="2045716644" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="971494939" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/AnnotationsApplication.xmir:            <o base="string" data="bytes" line="1847913424" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/org/eolang/jeo/annotations/ParamAnnotation.xmir:            <o base="string" data="bytes" line="262191306" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="1080304086" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="910286369" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="276202" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="1311082647" name="signature"/>
./target/it/annotations/target/generated-sources/jeo-xmir/FixedWidth.xmir:            <o base="string" data="bytes" line="348379116" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1434661165" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/org/eolang/jeo/Application.xmir:            <o base="string" data="bytes" line="1239427226" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/WithoutPackage.xmir:            <o base="string" data="bytes" line="732858408" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/foo/Foo.xmir:            <o base="string" data="bytes" line="1991210323" name="signature"/>
./target/it/bytecode-to-eo/target/generated-sources/jeo-xmir/foo/Foo.xmir:            <o base="string" data="bytes" line="1664888121" name="signature"/>
./target/it/eo-to-bytecode/target/generated-sources/opeo-xmir/org/eolang/spring/WithoutMetas.xmir:        <o base="string" data="bytes" line="144287926" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Receptionist.xmir:            <o base="string" data="bytes" line="1682295114" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Receptionist.xmir:            <o base="string" data="bytes" line="1921701759" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/App.xmir:            <o base="string" data="bytes" line="1833138622" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/App.xmir:            <o base="string" data="bytes" line="238936468" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Application.xmir:            <o base="string" data="bytes" line="557063299" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Application.xmir:            <o base="string" data="bytes" line="51001937" name="signature"/>
./target/it/spring/target/generated-sources/jeo-xmir/org/eolang/jeo/spring/Application.xmir:            <o base="string" data="bytes" line="1734356143" name="signature"/>
./src/it/eo-to-bytecode/target/generated-sources/opeo-xmir/org/eolang/spring/WithoutMetas.xmir:        <o base="string" data="bytes" line="144287926" name="signature"/>

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo please, fix the bug then. I can't proceed with the HONE plugin because of it. Also, keep in mind that HONE plugin is going to use this pipeline for now: Bytecode -> JEO -> Normalizer -> JEO -> Bytecode. No OPEO involvement for now.

@volodya-lombrozo
Copy link
Member

@yegor256 How? There is no bug in jeo. It's a bug in phi/unphi that breaks the format of XMIR. Let me try to explain it differently.

  1. jeo:disassemble generates the following "signature":
<o base="string" data="bytes" line="727201432" name="signature"/>
  1. phi/unphi transforms this signature to the something like the following (approximately):
<o base=".string" name="signature">
               <o base=".eolang">
                  <o base=".org">
                     <o base="Q"/>
                  </o>
               </o>
               <o as="0" base=".bytes">
                  <o base=".eolang">
                     <o base=".org">
                        <o base="Q"/>
                     </o>
                  </o>
                  <o base="org.eolang.bytes" data="bytes"/>
               </o>
            </o>
  1. jeo:assemble still expects
<o base="string" data="bytes" line="727201432" name="signature"/>

or maybe I don't understand something?

@yegor256
Copy link
Member Author

yegor256 commented Sep 2, 2024

@volodya-lombrozo now I understand. The problem is that jeo:disassemble uses old representation of objects in XMIR. This is not valid:

<o base="string" data="bytes" line="1739939615" name="descriptor">28 29 56</o>

It should be this:

            <o base=".string" name="descriptor">
               <o base=".eolang">
                  <o base=".org">
                     <o base="Q"/>
                  </o>
               </o>
               <o as="0" base=".bytes">
                  <o base=".eolang">
                     <o base=".org">
                        <o base="Q"/>
                     </o>
                  </o>
                  <o base="org.eolang.bytes" data="bytes">28 29 56</o>
               </o>
            </o>

This is how it looks in EO:

Q.org.eolang.string > descriptor
  Q.org.eolang.bytes:0
    28-29-56

We switched to this new format a few minor versions of EO ago. Now, we can't do base="string" or base="int", only base="org.eolang.bytes" and base="Q".

@volodya-lombrozo
Copy link
Member

@yegor256 Do you have documentation on how XMIR elements should look? Maybe a specification, decisions made, or at least something that I can use to develop these transformations?

Moreover, I need a clear understanding—not of the "initial" representation of XMIR. As I’ve already mentioned, the eo-maven-plugin applies many different optimizations that change this XMIR dramatically.

#687 (comment)

When you do phi/unphi, the eo-maven-plugin actually applies these optimizations.

objectionary/eo#3257 (comment)

I don’t think you can predict how XMIR will look after these optimizations.
Do you expect me to predict it?

Moreover, tomorrow you could invent an entirely different "view" on XMIR and how some objects should be represented, and all my findings might be thrown into the bin. I’ve already done this "rewriting" many times:

#656
#627

That’s only in jeo-maven-plugin. I’m not even mentioning opeo-maven-plugin.

So, to be honest, I’m extremely frustrated with these requirements. And even if you insist on them and decide to "rewrite" it again, I can do it, but you should be aware that it might take a significant amount of time.

@yegor256
Copy link
Member Author

yegor256 commented Sep 3, 2024

@volodya-lombrozo I understand. How about we make JEO more strict by writing the documentation for it. Basically, we must explain to the users of JEO-output what is possible to do with it in order to keep it understandable by JEO. If you publish such a documentation, we will make sure our normalizations/optimizations send to JEO only the XMIR it is prepared for.

@volodya-lombrozo
Copy link
Member

@yegor256 I agree. What do you think if we move a bit further and invent some sort of XSD for it?

@yegor256
Copy link
Member Author

yegor256 commented Sep 3, 2024

@volodya-lombrozo XSD is a rather weak format, it won't allow you to define complex rules. It's mostly about types of data. Maybe a collection of XPath assertions (both "positive" that must be in the incoming XMIR and "negative" that are not allowed). Just an idea.

@volodya-lombrozo
Copy link
Member

@yegor256 Is this issue still relevant? I moved all the conclusions made in this discussion to a separate issue: #716

@yegor256
Copy link
Member Author

@volodya-lombrozo let's close

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants