From 451162bddd6a1086a8226c36a59e4afd061d19c7 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Sun, 28 Apr 2024 12:36:43 +0300 Subject: [PATCH 01/12] #3139: Added postfix --- .../src/main/java/org/eolang/maven/rust/Names.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/rust/Names.java b/eo-maven-plugin/src/main/java/org/eolang/maven/rust/Names.java index ab362fbdd4..c37b17bb7b 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/rust/Names.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/rust/Names.java @@ -52,7 +52,7 @@ public final class Names { /** * Prefix for the names. */ - public static final String PREFIX = "native"; + public static final String PREFIX = "NATIVE"; /** * Target directory. @@ -95,9 +95,10 @@ public String name(final String loc) { return cached.computeIfAbsent( loc, key -> String.format( - "%s%d", + "%s%dx%s", Names.PREFIX, - cached.size() + cached.size(), + Names.trim(key) ) ); } @@ -145,6 +146,13 @@ public void save() throws IOException { ); } + private static String trim(final String loc) { + final String[] split = {loc}; + final String replaced = split[split.length-1] + .replaceAll("[^a-zA-Z0-9.-]", "").toUpperCase().replaceAll("[. -]", "x"); + return replaced.substring(Math.max(replaced.length() - 16, 0)); + } + /** * Prestructor to initialize this.all. * @param dest Directory where to load from. From fac6e1f14477834571ad8aa3dbbe78f4a70dd1b6 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Sun, 28 Apr 2024 20:15:52 +0300 Subject: [PATCH 02/12] #3139: Assigns human-readable names to rust files --- .../java/org/eolang/maven/rust/Names.java | 17 +++++++---- .../org/eolang/maven/rust/PrimeModule.java | 30 ++++++++++++++++++- .../org/eolang/maven/BinarizeMojoTest.java | 6 ++-- .../org/eolang/maven/BinarizeParseTest.java | 14 ++++----- .../eolang/maven/rust/PrimeModuleTest.java | 6 ++-- .../org/eolang/maven/rust/RustNodeTest.java | 6 ++-- .../src/test/eo/org/eolang/rust-tests.eo | 18 +++++++++++ 7 files changed, 74 insertions(+), 23 deletions(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/rust/Names.java b/eo-maven-plugin/src/main/java/org/eolang/maven/rust/Names.java index c37b17bb7b..36509b6b02 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/rust/Names.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/rust/Names.java @@ -52,7 +52,7 @@ public final class Names { /** * Prefix for the names. */ - public static final String PREFIX = "NATIVE"; + public static final String PREFIX = "native"; /** * Target directory. @@ -95,7 +95,7 @@ public String name(final String loc) { return cached.computeIfAbsent( loc, key -> String.format( - "%s%dx%s", + "%s%d_%s", Names.PREFIX, cached.size(), Names.trim(key) @@ -146,11 +146,16 @@ public void save() throws IOException { ); } + /** + * Format loc: Remove non-ascii symbols, replace Φ.org.eolang with QQ + * and limit length of name characters. + * @param loc Locator of Rust insert. + * @return Formatted name. + */ private static String trim(final String loc) { - final String[] split = {loc}; - final String replaced = split[split.length-1] - .replaceAll("[^a-zA-Z0-9.-]", "").toUpperCase().replaceAll("[. -]", "x"); - return replaced.substring(Math.max(replaced.length() - 16, 0)); + final String replaced = loc.replace("Φ.org.eolang", "QQ") + .replaceAll("[^a-zA-Z0-9.-]", "").replaceAll("[. -]", "_"); + return replaced.substring(Math.max(replaced.length() - 64, 0)); } /** diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/rust/PrimeModule.java b/eo-maven-plugin/src/main/java/org/eolang/maven/rust/PrimeModule.java index 5522d12bbf..402ff7d349 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/rust/PrimeModule.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/rust/PrimeModule.java @@ -47,7 +47,7 @@ public PrimeModule(final String method, final String file) { "use eo::eo_enum::EO::EOError;", "#[no_mangle]", "pub extern \"system\" fn", - String.format("Java_EOrust_natives_%s_%s", method, method), + translate(method), "<'local> (env: JNIEnv<'local>, _class: JClass<'local>, universe: JObject<'local>) -> JByteArray<'local>", "{ let mut eo = Portal::new(env, _class, universe); ", "let arr = foo(&mut eo)", @@ -58,4 +58,32 @@ public PrimeModule(final String method, final String file) { file ); } + + /** + * Translates ("mangles") Java method name to native method name. + * @param jname Name of this function (and class) in Java. + * @return How it named in Rust. + */ + private static String translate(final String jname) { + return PrimeModule.translate( + "EOrust.natives.".concat(jname), + jname + ); + } + + /** + * Translates ("mangles") Java method name to native method name according to + * documentation + * or stackoverflow. + * @param clazz Simple name of class. + * @param method Name of method. + * @return How it named in Rust. + */ + private static String translate(final String clazz, final String method) { + return String.format( + "Java_%s_%s", + clazz.replace("_", "_1").replace(".", "_"), + method.replace("_", "_1") + ); + } } diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/BinarizeMojoTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/BinarizeMojoTest.java index 1f99afb893..01677fa01b 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/BinarizeMojoTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/BinarizeMojoTest.java @@ -160,19 +160,19 @@ void doesNotRecompile(@TempDir final Path temp) throws IOException { } maven.execute(new FakeMaven.Binarize()); final File executable = cache - .resolve("Lib/native0/target/debug/") + .resolve("Lib/native0_QQ_custom_creates_object_r_0/target/debug/") .resolve(RustNode.LIB) .toFile(); final long first = executable.lastModified(); maven.execute(new FakeMaven.Binarize()); final long second = executable.lastModified(); MatcherAssert.assertThat( - BinarizeParseTest.TO_ADD_MESSAGE, + "Check that file exists", first, Matchers.not(0L) ); MatcherAssert.assertThat( - BinarizeParseTest.TO_ADD_MESSAGE, + "The cached program should not be recompiled", second, Matchers.equalTo(first) ); diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/BinarizeParseTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/BinarizeParseTest.java index cabac1dc77..47487208bf 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/BinarizeParseTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/BinarizeParseTest.java @@ -65,7 +65,7 @@ void parsesSimpleEoProgram(@TempDir final Path temp) throws Exception { BinarizeMojoTest.SRC.resolve("simple-rust.eo") ); final String function = String.format( - "%s0", + "%s0_QQ_custom_creates_object_r_0", Names.PREFIX ); final String rust = String.format( @@ -73,11 +73,11 @@ void parsesSimpleEoProgram(@TempDir final Path temp) throws Exception { function ); MatcherAssert.assertThat( - BinarizeParseTest.TO_ADD_MESSAGE, + "The program exists", res, Matchers.hasKey(rust) ); MatcherAssert.assertThat( - BinarizeParseTest.TO_ADD_MESSAGE, + "Correct content of Rust file", new TextOf(res.get(rust)).asString(), Matchers.stringContainsInOrder( "use rand::Rng;", @@ -90,7 +90,7 @@ void parsesSimpleEoProgram(@TempDir final Path temp) throws Exception { ) ); MatcherAssert.assertThat( - BinarizeParseTest.TO_ADD_MESSAGE, + "Correct content of Java file", new TextOf( res.get( String.format( @@ -110,11 +110,11 @@ void binarizesTwiceRustProgram(@TempDir final Path temp) throws Exception { BinarizeMojoTest.SRC.resolve("twice-rust.eo") ); final String one = String.format( - "target/Lib/%s0/src/foo.rs", + "target/Lib/%s0_QQ_custom_hello_world_1_r_0/src/foo.rs", Names.PREFIX ); final String two = String.format( - "target/Lib/%s1/src/foo.rs", + "target/Lib/%s1_QQ_custom_hello_world_2_r_0/src/foo.rs", Names.PREFIX ); MatcherAssert.assertThat( @@ -165,7 +165,7 @@ void createsCorrectRustProject(@TempDir final Path temp) throws Exception { BinarizeMojoTest.SRC.resolve("twice-rust.eo") ); final String dir = String.format( - "target/Lib/%s1/", + "target/Lib/%s1_QQ_custom_hello_world_2_r_0/", Names.PREFIX ); final String cargo = dir.concat("Cargo.toml"); diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/rust/PrimeModuleTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/rust/PrimeModuleTest.java index b7b64fa897..ab6889c48d 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/rust/PrimeModuleTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/rust/PrimeModuleTest.java @@ -34,7 +34,7 @@ import org.junit.jupiter.api.io.TempDir; /** - * Test case for {@link Module}. + * Test case for {@link PrimeModule}. * * @since 0.1 */ @@ -45,12 +45,12 @@ void savesCorrectly(@TempDir final Path temp) throws Exception { final String name = "name"; new PrimeModule(method, name).save(new FtDefault(temp)); MatcherAssert.assertThat( - BinarizeParseTest.TO_ADD_MESSAGE, + "Check that PrimeModule is saved correctly", new TextOf( temp.resolve(Paths.get(name.concat(".rs"))) ).asString(), Matchers.stringContainsInOrder( - String.format("Java_EOrust_natives_%s_%s", method, method), + "Java_EOrust_natives_my_1method_my_1method", "<'local> (env: JNIEnv<'local>, _class: JClass<'local>, universe: JObject<'local>) -> JByteArray" ) ); diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/rust/RustNodeTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/rust/RustNodeTest.java index 8ce4c40aae..ddc0066c01 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/rust/RustNodeTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/rust/RustNodeTest.java @@ -61,9 +61,9 @@ void generatesRust(@TempDir final Path temp) throws IOException { "Check that necessary files are created", out, Matchers.hasItems( - lib.resolve("native0/src/foo.rs"), - lib.resolve("native0/src/lib.rs"), - gen.resolve("native0.java") + lib.resolve("native0_QQ_custom_rust_r_0/src/foo.rs"), + lib.resolve("native0_QQ_custom_rust_r_0/src/lib.rs"), + gen.resolve("native0_QQ_custom_rust_r_0.java") ) ); } diff --git a/eo-runtime/src/test/eo/org/eolang/rust-tests.eo b/eo-runtime/src/test/eo/org/eolang/rust-tests.eo index 32b159f0f6..fa6ac13668 100644 --- a/eo-runtime/src/test/eo/org/eolang/rust-tests.eo +++ b/eo-runtime/src/test/eo/org/eolang/rust-tests.eo @@ -25,6 +25,24 @@ +package org.eolang +version 0.0.0 +# Works with long names correctly. +[] > rust-long-variable + QQ.rust > very-looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong + """ + use eo::Portal; + use eo::eo_enum::EO; + use eo::eo_enum::EO::{EOInt}; + + pub fn foo(_portal: &mut Portal) -> Option { + Some(EOInt(0)) + } + """ + [] + * + eq. > @ + very-looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong + 0 + # Test [] > rust-returns-positive-int QQ.rust > r From 491bad09e3473119c170be38fb9b664504e5d49f Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Sun, 28 Apr 2024 20:22:05 +0300 Subject: [PATCH 03/12] #3139: Removed unused import --- .../src/test/java/org/eolang/maven/rust/PrimeModuleTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/rust/PrimeModuleTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/rust/PrimeModuleTest.java index ab6889c48d..f4735e7e9d 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/rust/PrimeModuleTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/rust/PrimeModuleTest.java @@ -26,7 +26,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import org.cactoos.text.TextOf; -import org.eolang.maven.BinarizeParseTest; import org.eolang.maven.footprint.FtDefault; import org.hamcrest.MatcherAssert; import org.hamcrest.Matchers; From 973b61244ce70bd9bdecfc9b2a2dde326ef044aa Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Mon, 29 Apr 2024 13:10:50 +0300 Subject: [PATCH 04/12] #3139: Added example --- .../src/main/java/org/eolang/maven/rust/PrimeModule.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/rust/PrimeModule.java b/eo-maven-plugin/src/main/java/org/eolang/maven/rust/PrimeModule.java index 402ff7d349..1f592e289e 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/rust/PrimeModule.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/rust/PrimeModule.java @@ -61,6 +61,9 @@ public PrimeModule(final String method, final String file) { /** * Translates ("mangles") Java method name to native method name. + * For example, translated "native0_custom" to + * Java_EOrust_natives_native0_1custom_native0_1custom. + * See {@link PrimeModule#translate(String, String)} for motivation. * @param jname Name of this function (and class) in Java. * @return How it named in Rust. */ From 66f20b9673f3996d97619d3a52371b2ed27310f8 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Mon, 29 Apr 2024 13:30:35 +0300 Subject: [PATCH 05/12] #3139: restart ci --- .../main/java/org/eolang/maven/hash/CommitHashesText.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java b/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java index 1e3465021c..90e0dc073e 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java @@ -29,6 +29,7 @@ import org.cactoos.Text; import org.cactoos.scalar.Unchecked; import org.cactoos.text.Sticky; +import org.cactoos.text.Synced; import org.cactoos.text.TextEnvelope; import org.cactoos.text.TextOf; @@ -49,8 +50,10 @@ final class CommitHashesText extends TextEnvelope { /** * Cache. */ - private static final Text CACHE = new Sticky( - CommitHashesText.asText(CommitHashesText.HOME) + private static final Text CACHE = new Synced( + new Sticky( + CommitHashesText.asText(CommitHashesText.HOME) + ) ); /** From f5187269212c5c97a82a5f8d60440285d3409865 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Mon, 29 Apr 2024 13:30:57 +0300 Subject: [PATCH 06/12] #3139: restart ci --- .../main/java/org/eolang/maven/hash/CommitHashesText.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java b/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java index 90e0dc073e..1e3465021c 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java @@ -29,7 +29,6 @@ import org.cactoos.Text; import org.cactoos.scalar.Unchecked; import org.cactoos.text.Sticky; -import org.cactoos.text.Synced; import org.cactoos.text.TextEnvelope; import org.cactoos.text.TextOf; @@ -50,10 +49,8 @@ final class CommitHashesText extends TextEnvelope { /** * Cache. */ - private static final Text CACHE = new Synced( - new Sticky( - CommitHashesText.asText(CommitHashesText.HOME) - ) + private static final Text CACHE = new Sticky( + CommitHashesText.asText(CommitHashesText.HOME) ); /** From d83314cb06a15297d2219edef3b09da6ce4f04d3 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Mon, 29 Apr 2024 13:33:51 +0300 Subject: [PATCH 07/12] #3139: restart ci --- .../src/main/java/org/eolang/maven/hash/CommitHashesText.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java b/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java index 1e3465021c..019889d8e4 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java @@ -49,7 +49,7 @@ final class CommitHashesText extends TextEnvelope { /** * Cache. */ - private static final Text CACHE = new Sticky( + private static final Text CACHE = zzzznew Sticky( CommitHashesText.asText(CommitHashesText.HOME) ); From 734bc02a35d4e91db95e62e6c72f7430497e186a Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Mon, 29 Apr 2024 13:33:56 +0300 Subject: [PATCH 08/12] #3139: restart ci --- .../src/main/java/org/eolang/maven/hash/CommitHashesText.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java b/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java index 019889d8e4..1e3465021c 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/hash/CommitHashesText.java @@ -49,7 +49,7 @@ final class CommitHashesText extends TextEnvelope { /** * Cache. */ - private static final Text CACHE = zzzznew Sticky( + private static final Text CACHE = new Sticky( CommitHashesText.asText(CommitHashesText.HOME) ); From 7f374f591d4e19f2a19f5fc082de4c4c952d702d Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Thu, 2 May 2024 14:02:46 +0300 Subject: [PATCH 09/12] #3139: Restart ci --- .../test/java/org/eolang/maven/hash/CommitHashesTextTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/hash/CommitHashesTextTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/hash/CommitHashesTextTest.java index f9b454d8ab..96256dee0a 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/hash/CommitHashesTextTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/hash/CommitHashesTextTest.java @@ -40,7 +40,7 @@ final class CommitHashesTextTest { @ExtendWith(WeAreOnline.class) void downloadsDefaultList() throws Exception { MatcherAssert.assertThat( - "CommitHashesText downloads the default list of hashes from Objectionary", + "CommitHashesText downloads the default list of hashes from Objectionary", new CommitHashesText().asString(), Matchers.containsString("master") ); From c643b1f684e565206da04f5e4a88fafb9898d23c Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Thu, 2 May 2024 14:02:52 +0300 Subject: [PATCH 10/12] #3139: Restart ci --- .../test/java/org/eolang/maven/hash/CommitHashesTextTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eo-maven-plugin/src/test/java/org/eolang/maven/hash/CommitHashesTextTest.java b/eo-maven-plugin/src/test/java/org/eolang/maven/hash/CommitHashesTextTest.java index 96256dee0a..f9b454d8ab 100644 --- a/eo-maven-plugin/src/test/java/org/eolang/maven/hash/CommitHashesTextTest.java +++ b/eo-maven-plugin/src/test/java/org/eolang/maven/hash/CommitHashesTextTest.java @@ -40,7 +40,7 @@ final class CommitHashesTextTest { @ExtendWith(WeAreOnline.class) void downloadsDefaultList() throws Exception { MatcherAssert.assertThat( - "CommitHashesText downloads the default list of hashes from Objectionary", + "CommitHashesText downloads the default list of hashes from Objectionary", new CommitHashesText().asString(), Matchers.containsString("master") ); From fa69993797722a7ae3c8c801f6944581548b0063 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Mon, 6 May 2024 13:03:43 +0300 Subject: [PATCH 11/12] #3139: Added license --- .../org/eolang/maven/print/xmir/inner/a.xmir | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/eo-maven-plugin/src/test/resources/org/eolang/maven/print/xmir/inner/a.xmir b/eo-maven-plugin/src/test/resources/org/eolang/maven/print/xmir/inner/a.xmir index e7f393d117..065142866e 100644 --- a/eo-maven-plugin/src/test/resources/org/eolang/maven/print/xmir/inner/a.xmir +++ b/eo-maven-plugin/src/test/resources/org/eolang/maven/print/xmir/inner/a.xmir @@ -1,3 +1,26 @@ + Date: Mon, 6 May 2024 13:05:13 +0300 Subject: [PATCH 12/12] #3139: removed license --- .../org/eolang/maven/print/xmir/inner/a.xmir | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/eo-maven-plugin/src/test/resources/org/eolang/maven/print/xmir/inner/a.xmir b/eo-maven-plugin/src/test/resources/org/eolang/maven/print/xmir/inner/a.xmir index 065142866e..e7f393d117 100644 --- a/eo-maven-plugin/src/test/resources/org/eolang/maven/print/xmir/inner/a.xmir +++ b/eo-maven-plugin/src/test/resources/org/eolang/maven/print/xmir/inner/a.xmir @@ -1,26 +1,3 @@ -