diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java index 3938c2236..b37ea42ff 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java @@ -52,6 +52,7 @@ public class CallAVM2Item extends AVM2Item { } else { function.toString(writer, localData); } + writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int a = 0; a < arguments.size(); a++) { if (a > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java index 2d79968c2..d160e5831 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java @@ -41,6 +41,7 @@ public class CallMethodAVM2Item extends AVM2Item { receiver.toString(writer, localData); writer.append("."); writer.append(methodName); + writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int a = 0; a < arguments.size(); a++) { if (a > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java index 4a16b892e..a36d6d2c3 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java @@ -46,6 +46,7 @@ public class CallPropertyAVM2Item extends AVM2Item { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { formatProperty(writer, receiver, propertyName, localData); + writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int a = 0; a < arguments.size(); a++) { if (a > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java index 069237a29..4f937ab95 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java @@ -41,6 +41,7 @@ public class CallStaticAVM2Item extends AVM2Item { receiver.toString(writer, localData); writer.append("."); writer.append(methodName); + writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int a = 0; a < arguments.size(); a++) { if (a > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java index 1e1ff1d12..fa5042ce4 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java @@ -41,6 +41,7 @@ public class ConstructAVM2Item extends AVM2Item { } writer.append("new "); object.toString(writer, localData); + writer.spaceBeforeCallParenthesies(args.size()); writer.append("("); for (int a = 0; a < args.size(); a++) { if (a > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java index 60de67ee0..2f9f4b3a4 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java @@ -45,6 +45,7 @@ public class ConstructPropAVM2Item extends AVM2Item { writer.append("."); } propertyName.toString(writer, localData); + writer.spaceBeforeCallParenthesies(args.size()); writer.append("("); for (int a = 0; a < args.size(); a++) { if (a > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java index 419f65298..0bdee77ff 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java @@ -44,6 +44,7 @@ public class ConstructSuperAVM2Item extends AVM2Item { object.toString(writer, localData); writer.append("."); } + writer.spaceBeforeCallParenthesies(args.size()); writer.append("super("); for (int a = 0; a < args.size(); a++) { if (a > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java index 637e5678c..29e8a19de 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java @@ -39,7 +39,9 @@ public class NextNameAVM2Item extends AVM2Item { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("nextName("); + writer.append("nextName"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); index.toString(writer, localData); writer.append(","); obj.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java index 2cfecf0d3..446bbc711 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java @@ -39,7 +39,9 @@ public class NextValueAVM2Item extends AVM2Item { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("nextValue("); + writer.append("nextValue"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); index.toString(writer, localData); writer.append(","); obj.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java index c501f92b7..8c41a9449 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java @@ -41,7 +41,10 @@ public class SetGlobalSlotAVM2Item extends AVM2Item { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("setglobalslot(" + slotId + ","); + writer.append("setglobalslot"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); + writer.append(slotId + ","); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java index 5fa82cf80..a326c870b 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java @@ -43,7 +43,11 @@ public class WithAVM2Item extends AVM2Item { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("with("); + writer.append("with"); + if (writer.getFormatting().spaceBeforeParenthesesWithParentheses) { + writer.append(" "); + } + writer.append("("); scope.toString(writer, localData); writer.append(")").newLine(); writer.append("{").newLine(); diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java index ded67593f..5556a9156 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java @@ -82,7 +82,11 @@ public class ForEachInAVM2Item extends LoopItem implements Block { if (labelUsed) { writer.append("loop" + loop.id + ":").newLine(); } - writer.append("for each ("); + writer.append("for each"); + if (writer.getFormatting().spaceBeforeParenthesesForEachParentheses) { + writer.append(" "); + } + writer.append("("); expression.toString(writer, localData); writer.append(")").newLine(); writer.append("{").newLine(); diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java index 911b78a4c..157e447a9 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java @@ -82,7 +82,11 @@ public class ForInAVM2Item extends LoopItem implements Block { if (labelUsed) { writer.append("loop" + loop.id + ":").newLine(); } - writer.append("for ("); + writer.append("for"); + if (writer.getFormatting().spaceBeforeParenthesesForParentheses) { + writer.append(" "); + } + writer.append("("); expression.toString(writer, localData); writer.append(")").newLine(); writer.append("{").newLine(); diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java b/trunk/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java index c9d554e69..5864f5824 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java @@ -159,7 +159,8 @@ public class Traits implements Serializable { futureResults = new ArrayList<>(); for (int t = 0; t < traits.size(); t++) { - TraitConvertTask task = new TraitConvertTask(traits.get(t), parent, makePackages, path, abcTags, abc, isStatic, exportMode, scriptIndex, classIndex, writer, fullyQualifiedNames, t, parallel); + // each convert task needs a separate NulWriter, because they are executed parallel + TraitConvertTask task = new TraitConvertTask(traits.get(t), parent, makePackages, path, abcTags, abc, isStatic, exportMode, scriptIndex, classIndex, new NulWriter(), fullyQualifiedNames, t, parallel); Future future = executor.submit(task); futureResults.add(future); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/AsciiToCharActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/AsciiToCharActionItem.java index 86f536d63..3bfeefb71 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/AsciiToCharActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/AsciiToCharActionItem.java @@ -35,7 +35,9 @@ public class AsciiToCharActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("chr("); + writer.append("chr"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/CallActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/CallActionItem.java index bdd938341..4b9230176 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/CallActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/CallActionItem.java @@ -35,7 +35,9 @@ public class CallActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("call("); + writer.append("call"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); stripQuotes(value, localData, writer); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/CallFunctionActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/CallFunctionActionItem.java index 4dcf235ae..09564a017 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/CallFunctionActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/CallFunctionActionItem.java @@ -48,6 +48,7 @@ public class CallFunctionActionItem extends ActionItem { public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { String paramStr = ""; stripQuotes(functionName, localData, writer); + writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int t = 0; t < arguments.size(); t++) { if (t > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/CallMethodActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/CallMethodActionItem.java index 07d19c5d0..b5697120d 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/CallMethodActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/CallMethodActionItem.java @@ -75,6 +75,7 @@ public class CallMethodActionItem extends ActionItem { } else { scriptObject.toString(writer, localData); } + writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int t = 0; t < arguments.size(); t++) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/CharToAsciiActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/CharToAsciiActionItem.java index d074574c2..a92d969da 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/CharToAsciiActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/CharToAsciiActionItem.java @@ -36,7 +36,9 @@ public class CharToAsciiActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("ord("); + writer.append("ord"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/CloneSpriteActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/CloneSpriteActionItem.java index 449c8de2d..484771717 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/CloneSpriteActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/CloneSpriteActionItem.java @@ -51,7 +51,9 @@ public class CloneSpriteActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("duplicateMovieClip("); + writer.append("duplicateMovieClip"); + writer.spaceBeforeCallParenthesies(3); + writer.append("("); target.toString(writer, localData); writer.append(","); source.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/EvalActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/EvalActionItem.java index 8a9f021c1..f82b48d53 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/EvalActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/EvalActionItem.java @@ -38,7 +38,9 @@ public class EvalActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("eval("); + writer.append("eval"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/FSCommand2ActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/FSCommand2ActionItem.java index affb99f2c..6444ca3e2 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/FSCommand2ActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/FSCommand2ActionItem.java @@ -50,7 +50,9 @@ public class FSCommand2ActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("FSCommand2("); + writer.append("FSCommand2"); + writer.spaceBeforeCallParenthesies(arguments.size()); + writer.append("("); command.toString(writer, localData); for (int t = 0; t < arguments.size(); t++) { writer.append(","); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/FSCommandActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/FSCommandActionItem.java index d55588103..90ec87d94 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/FSCommandActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/FSCommandActionItem.java @@ -40,7 +40,9 @@ public class FSCommandActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - writer.append("fscommand(\""); + writer.append("fscommand"); + writer.spaceBeforeCallParenthesies(1); + writer.append("(\""); writer.append(Helper.escapeString(command)); return writer.append("\")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/FunctionActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/FunctionActionItem.java index 9c29da8e7..c91ee5ad0 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/FunctionActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/FunctionActionItem.java @@ -85,6 +85,7 @@ public class FunctionActionItem extends ActionItem { writer.append(" "); writer.append(functionName); } + writer.spaceBeforeCallParenthesies(paramNames.size()); writer.append("("); for (int p = 0; p < paramNames.size(); p++) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/GetTimeActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/GetTimeActionItem.java index 5e132233e..e63090453 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/GetTimeActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/GetTimeActionItem.java @@ -35,7 +35,9 @@ public class GetTimeActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("getTimer()"); + writer.append("getTimer"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } @Override diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/GetURL2ActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/GetURL2ActionItem.java index a8a58dca1..2e0c778c4 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/GetURL2ActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/GetURL2ActionItem.java @@ -51,7 +51,9 @@ public class GetURL2ActionItem extends ActionItem { methodStr = ",\"POST\""; } - writer.append("getURL("); + writer.append("getURL"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); urlString.toString(writer, localData); writer.append(","); targetString.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/GetURLActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/GetURLActionItem.java index a5ff79a1e..fd59cc7f6 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/GetURLActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/GetURLActionItem.java @@ -32,7 +32,9 @@ public class GetURLActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - writer.append("getUrl(\""); + writer.append("getUrl"); + writer.spaceBeforeCallParenthesies(2); + writer.append("(\""); writer.append(Helper.escapeString(urlString) + "\", \"" + Helper.escapeString(targetString)); return writer.append("\")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/GetVersionActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/GetVersionActionItem.java index 4ca7f54ed..27a609ea7 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/GetVersionActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/GetVersionActionItem.java @@ -37,7 +37,9 @@ public class GetVersionActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("getVersion()"); + writer.append("getVersion"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } @Override diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/GotoFrame2ActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/GotoFrame2ActionItem.java index 2f2b227b1..ea6b403ca 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/GotoFrame2ActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/GotoFrame2ActionItem.java @@ -55,7 +55,9 @@ public class GotoFrame2ActionItem extends ActionItem { if (playFlag) { prefix = "gotoAndPlay"; } - writer.append(prefix + "("); + writer.append(prefix); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); frame.toString(writer, localData); writer.append((sceneBiasFlag ? "," + sceneBias : "")); return writer.append(")"); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/GotoFrameActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/GotoFrameActionItem.java index 008d4b096..bf07bea61 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/GotoFrameActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/GotoFrameActionItem.java @@ -35,7 +35,9 @@ public class GotoFrameActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - writer.append("gotoAndStop("); + writer.append("gotoAndStop"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); writer.append("" + (frame + 1)); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/GotoLabelActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/GotoLabelActionItem.java index e6fba5aad..8a8aac9c1 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/GotoLabelActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/GotoLabelActionItem.java @@ -36,7 +36,9 @@ public class GotoLabelActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - writer.append("gotoAndStop(\""); + writer.append("gotoAndStop"); + writer.spaceBeforeCallParenthesies(1); + writer.append("(\""); writer.append(Helper.escapeString(label)); return writer.append("\")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/LoadMovieActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/LoadMovieActionItem.java index a289766a4..88121f9f5 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/LoadMovieActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/LoadMovieActionItem.java @@ -60,7 +60,9 @@ public class LoadMovieActionItem extends ActionItem { if (method == 2) { methodStr = ",\"POST\""; } - writer.append("loadMovie("); + writer.append("loadMovie"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); urlString.toString(writer, localData); writer.append(","); targetString.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/LoadMovieNumActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/LoadMovieNumActionItem.java index 09dfdadfc..bdf0a91c1 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/LoadMovieNumActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/LoadMovieNumActionItem.java @@ -62,7 +62,9 @@ public class LoadMovieNumActionItem extends ActionItem { if (method == 2) { methodStr = ",\"POST\""; } - writer.append("loadMovieNum("); + writer.append("loadMovieNum"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); urlString.toString(writer, localData); writer.append(","); num.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/LoadVariablesActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/LoadVariablesActionItem.java index 3ed4717e6..11c9d68b5 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/LoadVariablesActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/LoadVariablesActionItem.java @@ -60,7 +60,9 @@ public class LoadVariablesActionItem extends ActionItem { if (method == 2) { methodStr = ",\"POST\""; } - writer.append("loadVariables("); + writer.append("loadVariables"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); urlString.toString(writer, localData); writer.append(","); targetString.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/LoadVariablesNumActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/LoadVariablesNumActionItem.java index d0f6880fd..f03b91dda 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/LoadVariablesNumActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/LoadVariablesNumActionItem.java @@ -62,7 +62,9 @@ public class LoadVariablesNumActionItem extends ActionItem { if (method == 2) { methodStr = ",\"POST\""; } - writer.append("loadVariablesNum("); + writer.append("loadVariablesNum"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); urlString.toString(writer, localData); writer.append(","); num.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/MBAsciiToCharActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/MBAsciiToCharActionItem.java index 89664459a..04088e2ff 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/MBAsciiToCharActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/MBAsciiToCharActionItem.java @@ -35,7 +35,9 @@ public class MBAsciiToCharActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("mbchr("); + writer.append("mbchr"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/MBCharToAsciiActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/MBCharToAsciiActionItem.java index c6cbfb8a4..e4cbf09fe 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/MBCharToAsciiActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/MBCharToAsciiActionItem.java @@ -35,7 +35,9 @@ public class MBCharToAsciiActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("mbord("); + writer.append("mbord"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/MBStringExtractActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/MBStringExtractActionItem.java index 070646bf0..02854812d 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/MBStringExtractActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/MBStringExtractActionItem.java @@ -51,7 +51,9 @@ public class MBStringExtractActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("mbsubstring("); + writer.append("mbsubstring"); + writer.spaceBeforeCallParenthesies(3); + writer.append("("); value.toString(writer, localData); writer.append(","); index.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/MBStringLengthActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/MBStringLengthActionItem.java index 0d0fdaaf6..5c72f73d7 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/MBStringLengthActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/MBStringLengthActionItem.java @@ -36,7 +36,9 @@ public class MBStringLengthActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("mblength("); + writer.append("mblength"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); if (value.getPrecedence() > precedence) { writer.append("("); value.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/NewMethodActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/NewMethodActionItem.java index fb8fcabf0..d219fd3eb 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/NewMethodActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/NewMethodActionItem.java @@ -78,6 +78,7 @@ public class NewMethodActionItem extends ActionItem { methodName.toString(writer, localData); } } + writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int t = 0; t < arguments.size(); t++) { if (t > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/NewObjectActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/NewObjectActionItem.java index fb1caac3e..6ca5586a8 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/NewObjectActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/NewObjectActionItem.java @@ -50,6 +50,7 @@ public class NewObjectActionItem extends ActionItem { public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { writer.append("new "); stripQuotes(objectName, localData, writer); + writer.spaceBeforeCallParenthesies(arguments.size()); writer.append("("); for (int t = 0; t < arguments.size(); t++) { if (t > 0) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/NextFrameActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/NextFrameActionItem.java index 99f534bad..beaef791b 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/NextFrameActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/NextFrameActionItem.java @@ -28,7 +28,9 @@ public class NextFrameActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("nextFrame()"); + writer.append("nextFrame"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } public NextFrameActionItem(GraphSourceItem instruction) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/PlayActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/PlayActionItem.java index d4704f96b..ab9eb8a52 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/PlayActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/PlayActionItem.java @@ -28,7 +28,9 @@ public class PlayActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("play()"); + writer.append("play"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } public PlayActionItem(GraphSourceItem instruction) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/PrevFrameActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/PrevFrameActionItem.java index 6d26c1412..10551b5a3 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/PrevFrameActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/PrevFrameActionItem.java @@ -28,7 +28,9 @@ public class PrevFrameActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("prevFrame()"); + writer.append("prevFrame"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } public PrevFrameActionItem(GraphSourceItem instruction) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/PrintActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/PrintActionItem.java index 708d90129..3679f16aa 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/PrintActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/PrintActionItem.java @@ -53,7 +53,9 @@ public class PrintActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("print("); + writer.append("print"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); target.toString(writer, localData); writer.append(","); boundingBox.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapActionItem.java index 31fba363b..f1e219e04 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapActionItem.java @@ -53,7 +53,9 @@ public class PrintAsBitmapActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("printAsBitmap("); + writer.append("printAsBitmap"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); target.toString(writer, localData); writer.append(","); boundingBox.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapNumActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapNumActionItem.java index 83e1b7bc3..87583c417 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapNumActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapNumActionItem.java @@ -53,7 +53,9 @@ public class PrintAsBitmapNumActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("printAsBitmapNum("); + writer.append("printAsBitmapNum"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); num.toString(writer, localData); writer.append(","); boundingBox.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/PrintNumActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/PrintNumActionItem.java index 24aaa70ef..d3cddc7a2 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/PrintNumActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/PrintNumActionItem.java @@ -53,7 +53,9 @@ public class PrintNumActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("printNum("); + writer.append("printNum"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); num.toString(writer, localData); writer.append(","); boundingBox.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/RandomNumberActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/RandomNumberActionItem.java index 21f064bb4..615367da5 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/RandomNumberActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/RandomNumberActionItem.java @@ -35,7 +35,9 @@ public class RandomNumberActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("random("); + writer.append("random"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/RemoveSpriteActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/RemoveSpriteActionItem.java index f0f4b1aec..4d4c6e5d0 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/RemoveSpriteActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/RemoveSpriteActionItem.java @@ -35,7 +35,9 @@ public class RemoveSpriteActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("removeMovieClip("); + writer.append("removeMovieClip"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/SetTarget2ActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/SetTarget2ActionItem.java index b43eb1cee..8efc4694f 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/SetTarget2ActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/SetTarget2ActionItem.java @@ -36,7 +36,9 @@ public class SetTarget2ActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("tellTarget("); + writer.append("tellTarget"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); target.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java index 0ad2fcf40..ae11e8264 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java @@ -77,7 +77,9 @@ public class SetVariableActionItem extends ActionItem implements SetTypeActionIt writer.append(" = "); return value.toString(writer, localData); } else { - writer.append("set("); + writer.append("set"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); name.toString(writer, localData); writer.append(","); value.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/StartDragActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/StartDragActionItem.java index 26b61037c..63fd9e459 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/StartDragActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/StartDragActionItem.java @@ -56,7 +56,9 @@ public class StartDragActionItem extends ActionItem { hasConstrains = false; } } - writer.append("startDrag("); + writer.append("startDrag"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); target.toString(writer, localData); writer.append(","); lockCenter.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/StopActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/StopActionItem.java index 203cac528..7ae0b8b99 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/StopActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/StopActionItem.java @@ -28,7 +28,9 @@ public class StopActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("stop()"); + writer.append("stop"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } public StopActionItem(GraphSourceItem instruction) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/StopAllSoundsActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/StopAllSoundsActionItem.java index 155939ebc..693b4a6ec 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/StopAllSoundsActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/StopAllSoundsActionItem.java @@ -28,7 +28,9 @@ public class StopAllSoundsActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("stopAllSounds()"); + writer.append("stopAllSounds"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } public StopAllSoundsActionItem(GraphSourceItem instruction) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/StopDragActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/StopDragActionItem.java index effe3b318..3c3e32e3f 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/StopDragActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/StopDragActionItem.java @@ -28,7 +28,9 @@ public class StopDragActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("stopDrag()"); + writer.append("stopDrag"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } public StopDragActionItem(GraphSourceItem instruction) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/StrictModeActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/StrictModeActionItem.java index 7d2c8200e..72dfed5a2 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/StrictModeActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/StrictModeActionItem.java @@ -31,7 +31,9 @@ public class StrictModeActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("StrictMode(" + mode + ");"); //I still don't know how AS source of Strict Mode instruction looks like, assuming this... + writer.append("StrictMode"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("(" + mode + ");"); //I still don't know how AS source of Strict Mode instruction looks like, assuming this... } @Override diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/StringExtractActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/StringExtractActionItem.java index 2ac6cb59a..81dbec2ad 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/StringExtractActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/StringExtractActionItem.java @@ -42,7 +42,9 @@ public class StringExtractActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { value.toString(writer, localData); - writer.append(".substr("); + writer.append(".substr"); + writer.spaceBeforeCallParenthesies(2); + writer.append("("); index.toString(writer, localData); writer.append(","); count.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/StringLengthActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/StringLengthActionItem.java index 56bb44639..1e2c6f2d6 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/StringLengthActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/StringLengthActionItem.java @@ -36,7 +36,9 @@ public class StringLengthActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("length("); + writer.append("length"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/TargetPathActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/TargetPathActionItem.java index ff23af982..fdabc0f7d 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/TargetPathActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/TargetPathActionItem.java @@ -35,7 +35,9 @@ public class TargetPathActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("targetPath("); + writer.append("targetPath"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/ToIntegerActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/ToIntegerActionItem.java index 663d56b3c..8d86631d4 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/ToIntegerActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/ToIntegerActionItem.java @@ -35,7 +35,9 @@ public class ToIntegerActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("int("); + writer.append("int"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/ToNumberActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/ToNumberActionItem.java index 188187ba6..ccfec3932 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/ToNumberActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/ToNumberActionItem.java @@ -35,7 +35,9 @@ public class ToNumberActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("Number("); + writer.append("Number"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/ToStringActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/ToStringActionItem.java index ded746bb1..a83f944bb 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/ToStringActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/ToStringActionItem.java @@ -35,7 +35,9 @@ public class ToStringActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("String("); + writer.append("String"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/ToggleHighQualityActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/ToggleHighQualityActionItem.java index 8b21cfba9..be64b1e07 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/ToggleHighQualityActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/ToggleHighQualityActionItem.java @@ -28,7 +28,9 @@ public class ToggleHighQualityActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) { - return writer.append("toggleHighQuality()"); + writer.append("toggleHighQuality"); + writer.spaceBeforeCallParenthesies(0); + return writer.append("()"); } public ToggleHighQualityActionItem(GraphSourceItem instruction) { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/TraceActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/TraceActionItem.java index 0c17253f0..05df3341d 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/TraceActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/TraceActionItem.java @@ -35,7 +35,9 @@ public class TraceActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("trace("); + writer.append("trace"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/TypeOfActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/TypeOfActionItem.java index c81a05d72..198ce5523 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/TypeOfActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/TypeOfActionItem.java @@ -38,7 +38,9 @@ public class TypeOfActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("typeof("); + writer.append("typeof"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); value.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/UnLoadMovieActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/UnLoadMovieActionItem.java index 8944f0c88..5753353d4 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/UnLoadMovieActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/UnLoadMovieActionItem.java @@ -49,7 +49,9 @@ public class UnLoadMovieActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("unloadMovie("); + writer.append("unloadMovie"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); targetString.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/UnLoadMovieNumActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/UnLoadMovieNumActionItem.java index 8ba6bbad0..4f226d9e2 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/UnLoadMovieNumActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/UnLoadMovieNumActionItem.java @@ -51,7 +51,9 @@ public class UnLoadMovieNumActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("unloadMovieNum("); + writer.append("unloadMovieNum"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); num.toString(writer, localData); return writer.append(")"); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/ForInActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/ForInActionItem.java index bbe07ed5c..0c25383c3 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/ForInActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/ForInActionItem.java @@ -81,7 +81,11 @@ public class ForInActionItem extends LoopActionItem implements Block { if (labelUsed) { writer.append("loop" + loop.id + ":").newLine(); } - writer.append("for("); + writer.append("for"); + if (writer.getFormatting().spaceBeforeParenthesesForParentheses) { + writer.append(" "); + } + writer.append("("); if ((variableName instanceof DirectValueActionItem) && (((DirectValueActionItem) variableName).value instanceof RegisterNumber)) { writer.append("var "); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/IfFrameLoadedActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/IfFrameLoadedActionItem.java index e245d281b..b997c1451 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/IfFrameLoadedActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/IfFrameLoadedActionItem.java @@ -47,7 +47,9 @@ public class IfFrameLoadedActionItem extends ActionItem implements Block { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("ifFrameLoaded("); + writer.append("ifFrameLoaded"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); frame.toString(writer, localData); writer.append(")").startBlock(); Graph.graphToString(actions, writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/TellTargetActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/TellTargetActionItem.java index 17b1b56a1..952d79229 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/TellTargetActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/TellTargetActionItem.java @@ -42,7 +42,9 @@ public class TellTargetActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("tellTarget("); + writer.append("tellTarget"); + writer.spaceBeforeCallParenthesies(1); + writer.append("("); target.toString(writer, localData); writer.append(")").newLine(); writer.append("{").newLine(); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/TryActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/TryActionItem.java index be17901b2..b4c1dc01e 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/TryActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/TryActionItem.java @@ -76,7 +76,11 @@ public class TryActionItem extends ActionItem implements Block { writer.append("}"); for (int e = 0; e < catchExceptions.size(); e++) { writer.newLine(); - writer.append("catch("); + writer.append("catch"); + if (writer.getFormatting().spaceBeforeParenthesesCatchParentheses) { + writer.append(" "); + } + writer.append("("); catchExceptions.get(e).toStringNoQuotes(writer, localData); writer.append(")").newLine(); writer.append("{").newLine(); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/WithActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/WithActionItem.java index 867dbd77f..f9f24607b 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/WithActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/WithActionItem.java @@ -48,7 +48,11 @@ public class WithActionItem extends ActionItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - writer.append("with("); + writer.append("with"); + if (writer.getFormatting().spaceBeforeParenthesesWithParentheses) { + writer.append(" "); + } + writer.append("("); scope.toString(writer, localData); writer.append(")").newLine(); writer.append("{").newLine(); diff --git a/trunk/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java b/trunk/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java index 05742228f..f289be722 100644 --- a/trunk/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java +++ b/trunk/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java @@ -488,14 +488,25 @@ public class GenericTagTreePanel extends GenericTagPanel { private final Object mtroot; private final List listeners = new ArrayList<>(); private final Map nodeCache = new HashMap<>(); + // it is much faster to store the reverse mappings, too + private final Map nodeCacheReverse = new HashMap<>(); private Object getNodeByPath(String path) { + if (nodeCache.containsKey(path)) { return nodeCache.get(path); } return null; } + public String getNodePathName(Object find) { + + if (nodeCacheReverse.containsKey(find)) { + return nodeCacheReverse.get(find); + } + return null; + } + public List getDependentFields(FieldNode fnode) { List ret = new ArrayList<>(); getDependentFields(getNodePathName(fnode), mtroot.getClass().getSimpleName(), mtroot, ret); @@ -522,22 +533,13 @@ public class GenericTagTreePanel extends GenericTagPanel { } } } - for (int i = 0; i < getChildCount(node); i++) { + int count = getChildCount(node); + for (int i = 0; i < count; i++) { FieldNode f = (FieldNode) getChild(node, i); getDependentFields(dependence, currentPath + "." + f.getName(), f, ret); } } - public String getNodePathName(Object find) { - - for (Map.Entry en : nodeCache.entrySet()) { - if (en.getValue().equals(find)) { - return en.getKey(); - } - } - return null; - } - public MyTreeModel(Tag root) { super(new DefaultMutableTreeNode(root)); this.mtroot = root; @@ -555,7 +557,9 @@ public class GenericTagTreePanel extends GenericTagPanel { parentPath += obj.getClass().getSimpleName(); } nodeCache.put(parentPath, obj); - for (int i = 0; i < getChildCount(obj, false); i++) { + nodeCacheReverse.put(obj, parentPath); + int count = getChildCount(obj, false); + for (int i = 0; i < count; i++) { buildCache(getChild(obj, i, false), parentPath); } } @@ -597,7 +601,16 @@ public class GenericTagTreePanel extends GenericTagPanel { return 0; } Field field = fnode.field; - if (ReflectionTools.needsIndex(field) && (fnode.index == -1)) { //Arrays ot Lists + if (ReflectionTools.needsIndex(field) && (fnode.index == -1)) { //Arrays or Lists + try { + if (field.get(fnode.obj) == null) { + // todo: instanciate the (Array)List or Array to allow adding items to it + return 0; + } + } catch (IllegalArgumentException | IllegalAccessException ex) { + return 0; + } + return ReflectionTools.getFieldSubSize(fnode.obj, field); } parent = fnode.getValue(); diff --git a/trunk/src/com/jpexs/decompiler/flash/helpers/CodeFormatting.java b/trunk/src/com/jpexs/decompiler/flash/helpers/CodeFormatting.java index 28acc5665..7297326ff 100644 --- a/trunk/src/com/jpexs/decompiler/flash/helpers/CodeFormatting.java +++ b/trunk/src/com/jpexs/decompiler/flash/helpers/CodeFormatting.java @@ -25,4 +25,29 @@ public class CodeFormatting { public String newLineChars = "\r\n"; public String indentString = " "; public boolean beginBlockOnNewLine = true; + + // spaces + // before parentheses + public boolean spaceBeforeParenthesesMethodCallParentheses = false; + public boolean spaceBeforeParenthesesMethodCallEmptyParentheses = false; + public boolean spaceBeforeArrayAccessBrackets = false; + public boolean spaceBeforeParenthesesMethodDeclarationParentheses = false; + public boolean spaceBeforeParenthesesMethodDeclarationEmptyParentheses = false; + public boolean spaceBeforeParenthesesIfParentheses = false; + public boolean spaceBeforeParenthesesWithParentheses = false; + public boolean spaceBeforeParenthesesWhileParentheses = false; + public boolean spaceBeforeParenthesesCatchParentheses = false; + public boolean spaceBeforeParenthesesSwitchParentheses = false; + public boolean spaceBeforeParenthesesForParentheses = false; + public boolean spaceBeforeParenthesesForEachParentheses = false; + + // around operators + public boolean spaceAroundOperatorsAssignmentOperators = false; // =, +=,... + public boolean spaceAroundOperatorsLogicalOperators = false; // &&, || + public boolean spaceAroundOperatorsEqualityOperators = false; // ==, != + public boolean spaceAroundOperatorsRelationalOperator = false; // <, >, <=, >= + public boolean spaceAroundOperatorsBitwiseOperator = false; // &, |, ^ + public boolean spaceAroundOperatorsAdditiveOperator = false; // +, - + public boolean spaceAroundOperatorsMultiplicativeOperator = false; // *, /, % + public boolean spaceAroundOperatorsShiftOperator = false; // <<, >> } diff --git a/trunk/src/com/jpexs/decompiler/flash/helpers/GraphTextWriter.java b/trunk/src/com/jpexs/decompiler/flash/helpers/GraphTextWriter.java index 1071c62d4..45527a91f 100644 --- a/trunk/src/com/jpexs/decompiler/flash/helpers/GraphTextWriter.java +++ b/trunk/src/com/jpexs/decompiler/flash/helpers/GraphTextWriter.java @@ -23,7 +23,7 @@ import com.jpexs.decompiler.graph.GraphSourceItem; * * @author JPEXS */ -public class GraphTextWriter { +public abstract class GraphTextWriter { protected long startTime; protected long suspendTime; @@ -111,21 +111,13 @@ public class GraphTextWriter { return ""; } - public GraphTextWriter append(String str) { - return this; - } + public abstract GraphTextWriter append(String str); - public GraphTextWriter append(String str, long offset) { - return this; - } + public abstract GraphTextWriter append(String str, long offset); - public GraphTextWriter appendNoHilight(int i) { - return this; - } + public abstract GraphTextWriter appendNoHilight(int i); - public GraphTextWriter appendNoHilight(String str) { - return this; - } + public abstract GraphTextWriter appendNoHilight(String str); public GraphTextWriter indent() { return this; @@ -139,10 +131,6 @@ public class GraphTextWriter { return this; } - public GraphTextWriter stripSemicolon() { - return this; - } - public int getLength() { return 0; } @@ -185,4 +173,21 @@ public class GraphTextWriter { public GraphTextWriter endBlock() { return endBlock("}"); } + + public GraphTextWriter space() { + return append(" "); + } + + public GraphTextWriter spaceBeforeCallParenthesies(int argCount) { + if (argCount > 0) { + if (formatting.spaceBeforeParenthesesMethodCallParentheses) { + space(); + } + } else { + if (formatting.spaceBeforeParenthesesMethodCallEmptyParentheses) { + space(); + } + } + return this; + } } diff --git a/trunk/src/com/jpexs/decompiler/flash/helpers/HilightedTextWriter.java b/trunk/src/com/jpexs/decompiler/flash/helpers/HilightedTextWriter.java index 39d840524..3228acbeb 100644 --- a/trunk/src/com/jpexs/decompiler/flash/helpers/HilightedTextWriter.java +++ b/trunk/src/com/jpexs/decompiler/flash/helpers/HilightedTextWriter.java @@ -222,17 +222,6 @@ public class HilightedTextWriter extends GraphTextWriter { return this; } - @Override - public HilightedTextWriter stripSemicolon() { - // hack - if (sb.charAt(sb.length() - 1) == ';') { - // todo: remove later - // probably this code branch is not executed anymore - sb.append("TODO_REMOVE_SEMICOLON"); - } - return this; - } - @Override public int getLength() { return sb.length(); diff --git a/trunk/src/com/jpexs/decompiler/graph/model/DoWhileItem.java b/trunk/src/com/jpexs/decompiler/graph/model/DoWhileItem.java index 644aa638a..7ade97552 100644 --- a/trunk/src/com/jpexs/decompiler/graph/model/DoWhileItem.java +++ b/trunk/src/com/jpexs/decompiler/graph/model/DoWhileItem.java @@ -65,14 +65,17 @@ public class DoWhileItem extends LoopItem implements Block { } writer.append("do"); writer.startBlock(); - writer.indent(); for (GraphTargetItem ti : commands) { if (!ti.isEmpty()) { ti.toStringSemicoloned(writer, localData).newLine(); } } - writer.endBlock(); - writer.append("while("); + writer.endBlock().newLine(); + writer.append("while"); + if (writer.getFormatting().spaceBeforeParenthesesWhileParentheses) { + writer.append(" "); + } + writer.append("("); for (int i = 0; i < expression.size(); i++) { if (expression.get(i).isEmpty()) { diff --git a/trunk/src/com/jpexs/decompiler/graph/model/ForItem.java b/trunk/src/com/jpexs/decompiler/graph/model/ForItem.java index b63f556ae..15a9a8833 100644 --- a/trunk/src/com/jpexs/decompiler/graph/model/ForItem.java +++ b/trunk/src/com/jpexs/decompiler/graph/model/ForItem.java @@ -68,7 +68,11 @@ public class ForItem extends LoopItem implements Block { if (labelUsed) { writer.append("loop" + loop.id + ":").newLine(); } - writer.append("for("); + writer.append("for"); + if (writer.getFormatting().spaceBeforeParenthesesForParentheses) { + writer.append(" "); + } + writer.append("("); int p = 0; for (int i = 0; i < firstCommands.size(); i++) { if (firstCommands.get(i).isEmpty()) { @@ -79,7 +83,6 @@ public class ForItem extends LoopItem implements Block { writer.append(","); } firstCommands.get(i).toString(writer, localData); - writer.stripSemicolon(); p++; } writer.append(";"); @@ -94,7 +97,6 @@ public class ForItem extends LoopItem implements Block { writer.append(","); } finalCommands.get(i).toString(writer, localData); - writer.stripSemicolon(); p++; } writer.append(")").startBlock(); diff --git a/trunk/src/com/jpexs/decompiler/graph/model/IfItem.java b/trunk/src/com/jpexs/decompiler/graph/model/IfItem.java index 078391d9a..586df72e1 100644 --- a/trunk/src/com/jpexs/decompiler/graph/model/IfItem.java +++ b/trunk/src/com/jpexs/decompiler/graph/model/IfItem.java @@ -81,7 +81,11 @@ public class IfItem extends GraphTargetItem implements Block { elseBranch = onTrue; } } - writer.append("if("); + writer.append("if"); + if (writer.getFormatting().spaceBeforeParenthesesIfParentheses) { + writer.append(" "); + } + writer.append("("); expr.toString(writer, localData); writer.append(")").startBlock(); for (GraphTargetItem ti : ifBranch) { @@ -91,18 +95,26 @@ public class IfItem extends GraphTargetItem implements Block { } writer.endBlock(); if (elseBranch.size() > 0) { + boolean elseIf = elseBranch.size() == 1 && (elseBranch.get(0) instanceof IfItem); if (writer.getFormatting().beginBlockOnNewLine) { writer.newLine(); } else { writer.append(" "); } - writer.append("else").startBlock(); + writer.append("else"); + if (!elseIf) { + writer.startBlock(); + } else { + writer.append(" "); + } for (GraphTargetItem ti : elseBranch) { if (!ti.isEmpty()) { ti.toStringSemicoloned(writer, localData).newLine(); } } - writer.endBlock(); + if (!elseIf) { + writer.endBlock(); + } } return writer; } diff --git a/trunk/src/com/jpexs/decompiler/graph/model/SwitchItem.java b/trunk/src/com/jpexs/decompiler/graph/model/SwitchItem.java index c9e7649a0..7465d1b91 100644 --- a/trunk/src/com/jpexs/decompiler/graph/model/SwitchItem.java +++ b/trunk/src/com/jpexs/decompiler/graph/model/SwitchItem.java @@ -70,7 +70,11 @@ public class SwitchItem extends LoopItem implements Block { if (labelUsed) { writer.append("loopswitch" + loop.id + ":").newLine(); } - writer.append("switch("); + writer.append("switch"); + if (writer.getFormatting().spaceBeforeParenthesesSwitchParentheses) { + writer.append(" "); + } + writer.append("("); switchedObject.toString(writer, localData); writer.append(")").startBlock(); for (int i = 0; i < caseCommands.size(); i++) { diff --git a/trunk/src/com/jpexs/decompiler/graph/model/UniversalLoopItem.java b/trunk/src/com/jpexs/decompiler/graph/model/UniversalLoopItem.java index c66c93787..d859e1c44 100644 --- a/trunk/src/com/jpexs/decompiler/graph/model/UniversalLoopItem.java +++ b/trunk/src/com/jpexs/decompiler/graph/model/UniversalLoopItem.java @@ -53,7 +53,11 @@ public class UniversalLoopItem extends LoopItem implements Block { if (labelUsed) { writer.append("loop" + loop.id + ":").newLine(); } - writer.append("while(true)").startBlock(); + writer.append("while").startBlock(); + if (writer.getFormatting().spaceBeforeParenthesesWhileParentheses) { + writer.append(" "); + } + writer.append("(true)").startBlock(); for (GraphTargetItem ti : commands) { if (!ti.isEmpty()) { ti.toStringSemicoloned(writer, localData).newLine(); diff --git a/trunk/src/com/jpexs/decompiler/graph/model/WhileItem.java b/trunk/src/com/jpexs/decompiler/graph/model/WhileItem.java index be6294ee9..87aab30b4 100644 --- a/trunk/src/com/jpexs/decompiler/graph/model/WhileItem.java +++ b/trunk/src/com/jpexs/decompiler/graph/model/WhileItem.java @@ -58,7 +58,11 @@ public class WhileItem extends LoopItem implements Block { if (labelUsed) { writer.append("loop" + loop.id + ":").newLine(); } - writer.append("while("); + writer.append("while"); + if (writer.getFormatting().spaceBeforeParenthesesWhileParentheses) { + writer.append(" "); + } + writer.append("("); for (int i = 0; i < expression.size(); i++) { if (expression.get(i).isEmpty()) { continue;