From 893b39fbe1339f4198b8dadff3b41eef4b5db192 Mon Sep 17 00:00:00 2001 From: JFronny Date: Fri, 5 Apr 2024 14:18:48 +0200 Subject: [PATCH 1/5] fix(muscript): properly decompile listOf --- .../java/io/gitlab/jfronny/muscript/ast/dynamic/ListOf.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ListOf.java b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ListOf.java index 7944b03..61afd75 100644 --- a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ListOf.java +++ b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ListOf.java @@ -42,6 +42,6 @@ public class ListOf extends DynamicExpr { location, new Variable(location, "listOf"), elements.stream().map(s -> new Call.Arg(s, false)).toList() - ); + ).decompile(writer); } } From a6f44ca4c77b9a46f8059ca0e565f7b902ca848a Mon Sep 17 00:00:00 2001 From: JFronny Date: Fri, 5 Apr 2024 17:40:15 +0200 Subject: [PATCH 2/5] fix(muscript): carry over fork on ExprGroup optimization --- .../java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java index 20f6173..70f7110 100644 --- a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java +++ b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java @@ -91,7 +91,8 @@ public class ExprGroup extends DynamicExpr { .flatMap(Expr::extractSideEffects) .map(Expr::optimize), Stream.of(fin.optimize()) - ).toList() + ).toList(), + fork ).asDynamicExpr(); } From cfbdce5a8b5de57a0419eb425f9c940a7e4490d9 Mon Sep 17 00:00:00 2001 From: JFronny Date: Fri, 5 Apr 2024 17:40:46 +0200 Subject: [PATCH 3/5] style(muscript): move case to new line --- .../main/java/io/gitlab/jfronny/muscript/ast/math/Minus.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/math/Minus.java b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/math/Minus.java index 3b0c9d0..964a9e0 100644 --- a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/math/Minus.java +++ b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/math/Minus.java @@ -36,7 +36,8 @@ public class Minus extends NumberExpr { return new Minus(location, invS.inner, invM.inner); if (minuend instanceof Invert inv) return new Invert(location, new Plus(location, inv.inner, subtrahend)).optimize(); - if (subtrahend instanceof Invert inv) return new Plus(location, minuend, inv.inner).optimize(); + if (subtrahend instanceof Invert inv) + return new Plus(location, minuend, inv.inner).optimize(); return new Minus(location, minuend, subtrahend); } From a16f5fa7df440b04b4d8300d4d03d28050e2049a Mon Sep 17 00:00:00 2001 From: JFronny Date: Fri, 5 Apr 2024 17:43:37 +0200 Subject: [PATCH 4/5] style(muscript): carry over packedArgs on ExprGroup.optimize --- .../muscript/ast/dynamic/ExprGroup.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java index 70f7110..93444fd 100644 --- a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java +++ b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java @@ -83,17 +83,22 @@ public class ExprGroup extends DynamicExpr { @Override public DynamicExpr optimize() { - return of( - location, - Stream.concat( - steps.stream() - .map(Expr::optimize) - .flatMap(Expr::extractSideEffects) - .map(Expr::optimize), - Stream.of(fin.optimize()) - ).toList(), - fork - ).asDynamicExpr(); + List> exprs = Stream.concat( + steps.stream() + .map(Expr::optimize) + .flatMap(Expr::extractSideEffects) + .map(Expr::optimize), + Stream.of(fin.optimize()) + ).toList(); + if (packedArgs == null) { + return of( + location, + exprs, + fork + ).asDynamicExpr(); + } else { + return new ExprGroup(location, exprs, packedArgs, fork); + } } @Override From 847927f23b2ae8b1f9d8e33e28cfe3f619baa41b Mon Sep 17 00:00:00 2001 From: JFronny Date: Fri, 5 Apr 2024 17:45:12 +0200 Subject: [PATCH 5/5] style(muscript): clean up branch --- .../jfronny/muscript/ast/dynamic/ExprGroup.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java index 93444fd..7bc92d7 100644 --- a/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java +++ b/muscript/src/main/java/io/gitlab/jfronny/muscript/ast/dynamic/ExprGroup.java @@ -90,15 +90,9 @@ public class ExprGroup extends DynamicExpr { .map(Expr::optimize), Stream.of(fin.optimize()) ).toList(); - if (packedArgs == null) { - return of( - location, - exprs, - fork - ).asDynamicExpr(); - } else { - return new ExprGroup(location, exprs, packedArgs, fork); - } + return packedArgs == null + ? of(location, exprs, fork).asDynamicExpr() + : new ExprGroup(location, exprs, packedArgs, fork); } @Override