From fd3711a10436447c4a7170fb61a580f5ed8bb72c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Mon, 24 Feb 2014 19:23:09 +0100 Subject: [PATCH] Direct AS1/2 editing - Increment/Decrement fix after issue #304 changes --- .../action/model/PostDecrementActionItem.java | 22 +++++--- .../action/model/PostIncrementActionItem.java | 22 +++++--- .../action/model/SetVariableActionItem.java | 3 +- .../action/model/clauses/ClassActionItem.java | 23 ++------ .../action/model/clauses/ForInActionItem.java | 2 +- .../operations/PreDecrementActionItem.java | 22 ++++---- .../operations/PreIncrementActionItem.java | 22 ++++---- .../parser/script/ActionScriptLexer.java | 10 ++-- .../parser/script/ActionScriptParser.java | 18 +------ .../parser/script/VariableActionItem.java | 54 +++++++------------ 10 files changed, 86 insertions(+), 112 deletions(-) diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/PostDecrementActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/PostDecrementActionItem.java index 9cb2d01d7..eb99dbaca 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/PostDecrementActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/PostDecrementActionItem.java @@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; import com.jpexs.decompiler.flash.action.model.operations.SubtractActionItem; +import com.jpexs.decompiler.flash.action.parser.script.VariableActionItem; import com.jpexs.decompiler.flash.action.swf4.ActionPop; import com.jpexs.decompiler.flash.action.swf4.ActionPush; import com.jpexs.decompiler.flash.action.swf4.ActionSetProperty; @@ -91,28 +92,33 @@ public class PostDecrementActionItem extends ActionItem implements SetTypeAction public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) { List ret = new ArrayList<>(); - if (object instanceof GetVariableActionItem) { - GetVariableActionItem gv = (GetVariableActionItem) object; + GraphTargetItem val = object; + if (val instanceof VariableActionItem) { + val = ((VariableActionItem) val).getBoxedValue(); + } + + if (val instanceof GetVariableActionItem) { + GetVariableActionItem gv = (GetVariableActionItem) val; ret.addAll(gv.toSource(localData, generator)); ret.remove(ret.size() - 1); //ActionGetVariable ret.addAll(gv.toSource(localData, generator)); ret.add(new ActionDecrement()); ret.add(new ActionSetVariable()); - } else if (object instanceof GetMemberActionItem) { - GetMemberActionItem mem = (GetMemberActionItem) object; + } else if (val instanceof GetMemberActionItem) { + GetMemberActionItem mem = (GetMemberActionItem) val; ret.addAll(mem.toSource(localData, generator)); ret.remove(ret.size() - 1); //ActionGetMember ret.addAll(mem.toSource(localData, generator)); ret.add(new ActionDecrement()); ret.add(new ActionSetMember()); - } else if ((object instanceof DirectValueActionItem) && ((DirectValueActionItem) object).value instanceof RegisterNumber) { - RegisterNumber rn = (RegisterNumber) ((DirectValueActionItem) object).value; + } else if ((val instanceof DirectValueActionItem) && ((DirectValueActionItem) val).value instanceof RegisterNumber) { + RegisterNumber rn = (RegisterNumber) ((DirectValueActionItem) val).value; ret.add(new ActionPush(new RegisterNumber(rn.number))); ret.add(new ActionDecrement()); ret.add(new ActionStoreRegister(rn.number)); ret.add(new ActionPop()); - } else if (object instanceof GetPropertyActionItem) { - GetPropertyActionItem gp = (GetPropertyActionItem) object; + } else if (val instanceof GetPropertyActionItem) { + GetPropertyActionItem gp = (GetPropertyActionItem) val; ret.addAll(gp.toSource(localData, generator)); ret.remove(ret.size() - 1); ret.addAll(gp.toSource(localData, generator)); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/PostIncrementActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/PostIncrementActionItem.java index 5f8249480..df719b900 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/PostIncrementActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/PostIncrementActionItem.java @@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; import com.jpexs.decompiler.flash.action.model.operations.AddActionItem; +import com.jpexs.decompiler.flash.action.parser.script.VariableActionItem; import com.jpexs.decompiler.flash.action.swf4.ActionPop; import com.jpexs.decompiler.flash.action.swf4.ActionPush; import com.jpexs.decompiler.flash.action.swf4.ActionSetProperty; @@ -91,28 +92,33 @@ public class PostIncrementActionItem extends ActionItem implements SetTypeAction public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) { List ret = new ArrayList<>(); - if (object instanceof GetVariableActionItem) { - GetVariableActionItem gv = (GetVariableActionItem) object; + GraphTargetItem val = object; + if (val instanceof VariableActionItem) { + val = ((VariableActionItem) val).getBoxedValue(); + } + + if (val instanceof GetVariableActionItem) { + GetVariableActionItem gv = (GetVariableActionItem) val; ret.addAll(gv.toSource(localData, generator)); ret.remove(ret.size() - 1); //ActionGetVariable ret.addAll(gv.toSource(localData, generator)); ret.add(new ActionIncrement()); ret.add(new ActionSetVariable()); - } else if (object instanceof GetMemberActionItem) { - GetMemberActionItem mem = (GetMemberActionItem) object; + } else if (val instanceof GetMemberActionItem) { + GetMemberActionItem mem = (GetMemberActionItem) val; ret.addAll(mem.toSource(localData, generator)); ret.remove(ret.size() - 1); //ActionGetMember ret.addAll(mem.toSource(localData, generator)); ret.add(new ActionIncrement()); ret.add(new ActionSetMember()); - } else if ((object instanceof DirectValueActionItem) && ((DirectValueActionItem) object).value instanceof RegisterNumber) { - RegisterNumber rn = (RegisterNumber) ((DirectValueActionItem) object).value; + } else if ((val instanceof DirectValueActionItem) && ((DirectValueActionItem) val).value instanceof RegisterNumber) { + RegisterNumber rn = (RegisterNumber) ((DirectValueActionItem) val).value; ret.add(new ActionPush(new RegisterNumber(rn.number))); ret.add(new ActionIncrement()); ret.add(new ActionStoreRegister(rn.number)); ret.add(new ActionPop()); - } else if (object instanceof GetPropertyActionItem) { - GetPropertyActionItem gp = (GetPropertyActionItem) object; + } else if (val instanceof GetPropertyActionItem) { + GetPropertyActionItem gp = (GetPropertyActionItem) val; ret.addAll(gp.toSource(localData, generator)); ret.remove(ret.size() - 1); ret.addAll(gp.toSource(localData, generator)); 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 e64abc819..0ad2fcf40 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java @@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; import com.jpexs.decompiler.flash.action.parser.script.ActionSourceGenerator; +import com.jpexs.decompiler.flash.action.parser.script.VariableActionItem; import com.jpexs.decompiler.flash.action.swf4.ActionPush; import com.jpexs.decompiler.flash.action.swf4.ActionSetVariable; import com.jpexs.decompiler.flash.action.swf4.RegisterNumber; @@ -71,7 +72,7 @@ public class SetVariableActionItem extends ActionItem implements SetTypeActionIt @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - if (name instanceof DirectValueActionItem || name instanceof GetVariableActionItem) { + if (name instanceof DirectValueActionItem || name instanceof VariableActionItem) { stripQuotes(name, localData, writer); writer.append(" = "); return value.toString(writer, localData); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/ClassActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/ClassActionItem.java index 442e45120..aae5ec50d 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/ClassActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/clauses/ClassActionItem.java @@ -19,13 +19,11 @@ package com.jpexs.decompiler.flash.action.model.clauses; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; import com.jpexs.decompiler.flash.action.Action; import com.jpexs.decompiler.flash.action.model.ActionItem; -import com.jpexs.decompiler.flash.action.model.DirectValueActionItem; import com.jpexs.decompiler.flash.action.model.FunctionActionItem; import com.jpexs.decompiler.flash.action.model.GetMemberActionItem; -import com.jpexs.decompiler.flash.action.model.GetVariableActionItem; import com.jpexs.decompiler.flash.action.model.SetMemberActionItem; import com.jpexs.decompiler.flash.action.parser.script.ActionSourceGenerator; -import com.jpexs.decompiler.flash.action.swf4.RegisterNumber; +import com.jpexs.decompiler.flash.action.parser.script.VariableActionItem; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; import com.jpexs.decompiler.flash.helpers.collections.MyEntry; import com.jpexs.decompiler.graph.Block; @@ -97,23 +95,8 @@ public class ClassActionItem extends ActionItem implements Block { } private boolean isThis(GraphTargetItem item) { - if (item instanceof DirectValueActionItem) { - DirectValueActionItem di = (DirectValueActionItem) item; - if (di.value instanceof RegisterNumber) { - RegisterNumber rn = (RegisterNumber) di.value; - if ("this".equals(rn.name)) { - return true; - } - } - } - if (item instanceof GetVariableActionItem) { - GetVariableActionItem gv = (GetVariableActionItem) item; - if (gv.name instanceof DirectValueActionItem) { - DirectValueActionItem di = (DirectValueActionItem) gv.name; - if ("this".equals(di.toStringNoH(null))) { - return true; - } - } + if (item instanceof VariableActionItem) { + return "this".equals(((VariableActionItem) item).getVariableName()); } return false; } 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 acd1d5f78..6c7f76ab4 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 @@ -140,7 +140,7 @@ public class ForInActionItem extends LoopActionItem implements Block { loopExpr.add(forInEndIf); List loopBody = new ArrayList<>(); loopBody.add(new ActionPush(new RegisterNumber(exprReg))); - if (asGenerator.isInFunction(localData)==2) { + if (asGenerator.isInFunction(localData) == 2) { loopBody.add(new ActionStoreRegister(innerExprReg)); loopBody.add(new ActionPop()); } else { diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/operations/PreDecrementActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/operations/PreDecrementActionItem.java index ebc779ef2..29ed746ef 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/operations/PreDecrementActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/operations/PreDecrementActionItem.java @@ -22,6 +22,7 @@ import com.jpexs.decompiler.flash.action.model.GetMemberActionItem; import com.jpexs.decompiler.flash.action.model.GetPropertyActionItem; import com.jpexs.decompiler.flash.action.model.GetVariableActionItem; import com.jpexs.decompiler.flash.action.parser.script.ActionSourceGenerator; +import com.jpexs.decompiler.flash.action.parser.script.VariableActionItem; import com.jpexs.decompiler.flash.action.swf4.ActionPush; import com.jpexs.decompiler.flash.action.swf4.ActionSetProperty; import com.jpexs.decompiler.flash.action.swf4.ActionSetVariable; @@ -52,9 +53,12 @@ public class PreDecrementActionItem extends UnaryOpItem { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) { ActionSourceGenerator asGenerator = (ActionSourceGenerator) generator; List ret = new ArrayList<>(); - - if (value instanceof GetVariableActionItem) { - GetVariableActionItem gv = (GetVariableActionItem) value; + GraphTargetItem val = value; + if (val instanceof VariableActionItem) { + val = ((VariableActionItem) val).getBoxedValue(); + } + if (val instanceof GetVariableActionItem) { + GetVariableActionItem gv = (GetVariableActionItem) val; ret.addAll(gv.toSource(localData, generator)); ret.remove(ret.size() - 1); //ActionGetVariable ret.addAll(gv.toSource(localData, generator)); @@ -63,8 +67,8 @@ public class PreDecrementActionItem extends UnaryOpItem { ret.add(new ActionStoreRegister(tmpReg)); ret.add(new ActionSetVariable()); ret.add(new ActionPush(new RegisterNumber(tmpReg))); - } else if (value instanceof GetMemberActionItem) { - GetMemberActionItem mem = (GetMemberActionItem) value; + } else if (val instanceof GetMemberActionItem) { + GetMemberActionItem mem = (GetMemberActionItem) val; ret.addAll(mem.toSource(localData, generator)); ret.remove(ret.size() - 1); //ActionGetMember ret.addAll(mem.toSource(localData, generator)); @@ -73,13 +77,13 @@ public class PreDecrementActionItem extends UnaryOpItem { ret.add(new ActionStoreRegister(tmpReg)); ret.add(new ActionSetMember()); ret.add(new ActionPush(new RegisterNumber(tmpReg))); - } else if ((value instanceof DirectValueActionItem) && ((DirectValueActionItem) value).value instanceof RegisterNumber) { - RegisterNumber rn = (RegisterNumber) ((DirectValueActionItem) value).value; + } else if ((val instanceof DirectValueActionItem) && ((DirectValueActionItem) val).value instanceof RegisterNumber) { + RegisterNumber rn = (RegisterNumber) ((DirectValueActionItem) val).value; ret.add(new ActionPush(new RegisterNumber(rn.number))); ret.add(new ActionDecrement()); ret.add(new ActionStoreRegister(rn.number)); - } else if (value instanceof GetPropertyActionItem) { - GetPropertyActionItem gp = (GetPropertyActionItem) value; + } else if (val instanceof GetPropertyActionItem) { + GetPropertyActionItem gp = (GetPropertyActionItem) val; ret.addAll(gp.toSource(localData, generator)); // old value ret.addAll(gp.toSource(localData, generator)); ret.remove(ret.size() - 1); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/model/operations/PreIncrementActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/model/operations/PreIncrementActionItem.java index 1433ef5a1..946a59c73 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/model/operations/PreIncrementActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/model/operations/PreIncrementActionItem.java @@ -22,6 +22,7 @@ import com.jpexs.decompiler.flash.action.model.GetMemberActionItem; import com.jpexs.decompiler.flash.action.model.GetPropertyActionItem; import com.jpexs.decompiler.flash.action.model.GetVariableActionItem; import com.jpexs.decompiler.flash.action.parser.script.ActionSourceGenerator; +import com.jpexs.decompiler.flash.action.parser.script.VariableActionItem; import com.jpexs.decompiler.flash.action.swf4.ActionPush; import com.jpexs.decompiler.flash.action.swf4.ActionSetProperty; import com.jpexs.decompiler.flash.action.swf4.ActionSetVariable; @@ -52,9 +53,12 @@ public class PreIncrementActionItem extends UnaryOpItem { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) { ActionSourceGenerator asGenerator = (ActionSourceGenerator) generator; List ret = new ArrayList<>(); - - if (value instanceof GetVariableActionItem) { - GetVariableActionItem gv = (GetVariableActionItem) value; + GraphTargetItem val = value; + if (val instanceof VariableActionItem) { + val = ((VariableActionItem) val).getBoxedValue(); + } + if (val instanceof GetVariableActionItem) { + GetVariableActionItem gv = (GetVariableActionItem) val; ret.addAll(gv.toSource(localData, generator)); ret.remove(ret.size() - 1); //ActionGetVariable ret.addAll(gv.toSource(localData, generator)); @@ -63,8 +67,8 @@ public class PreIncrementActionItem extends UnaryOpItem { ret.add(new ActionStoreRegister(tmpReg)); ret.add(new ActionSetVariable()); ret.add(new ActionPush(new RegisterNumber(tmpReg))); - } else if (value instanceof GetMemberActionItem) { - GetMemberActionItem mem = (GetMemberActionItem) value; + } else if (val instanceof GetMemberActionItem) { + GetMemberActionItem mem = (GetMemberActionItem) val; ret.addAll(mem.toSource(localData, generator)); ret.remove(ret.size() - 1); //ActionGetMember ret.addAll(mem.toSource(localData, generator)); @@ -73,13 +77,13 @@ public class PreIncrementActionItem extends UnaryOpItem { ret.add(new ActionStoreRegister(tmpReg)); ret.add(new ActionSetMember()); ret.add(new ActionPush(new RegisterNumber(tmpReg))); - } else if ((value instanceof DirectValueActionItem) && ((DirectValueActionItem) value).value instanceof RegisterNumber) { - RegisterNumber rn = (RegisterNumber) ((DirectValueActionItem) value).value; + } else if ((val instanceof DirectValueActionItem) && ((DirectValueActionItem) val).value instanceof RegisterNumber) { + RegisterNumber rn = (RegisterNumber) ((DirectValueActionItem) val).value; ret.add(new ActionPush(new RegisterNumber(rn.number))); ret.add(new ActionIncrement()); ret.add(new ActionStoreRegister(rn.number)); - } else if (value instanceof GetPropertyActionItem) { - GetPropertyActionItem gp = (GetPropertyActionItem) value; + } else if (val instanceof GetPropertyActionItem) { + GetPropertyActionItem gp = (GetPropertyActionItem) val; ret.addAll(gp.toSource(localData, generator)); // old value ret.addAll(gp.toSource(localData, generator)); ret.remove(ret.size() - 1); diff --git a/trunk/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java b/trunk/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java index 7f1c67c9f..031d254fe 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java @@ -1194,6 +1194,7 @@ public final class ActionScriptLexer { /** * Closes the input stream. + * * @throws java.io.IOException */ public final void yyclose() throws java.io.IOException { @@ -1229,7 +1230,8 @@ public final class ActionScriptLexer { /** * Returns the current lexical state. - * @return + * + * @return */ public final int yystate() { return zzLexicalState; @@ -1246,7 +1248,8 @@ public final class ActionScriptLexer { /** * Returns the text matched by the current regular expression. - * @return + * + * @return */ public final String yytext() { return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead); @@ -1268,7 +1271,8 @@ public final class ActionScriptLexer { /** * Returns the length of the matched text region. - * @return + * + * @return */ public final int yylength() { return zzMarkedPos - zzStartRead; diff --git a/trunk/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptParser.java b/trunk/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptParser.java index ef9ca9a25..831fb34b4 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptParser.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptParser.java @@ -141,12 +141,6 @@ import java.util.List; */ public class ActionScriptParser { - public static final int REGISTER_THIS = 1; - public static final int REGISTER_ARGUMENTS = 2; - public static final int REGISTER_SUPER = 3; - public static final int REGISTER_ROOT = 4; - public static final int REGISTER_PARENT = 5; - public static final int REGISTER_GLOBAL = 6; private long uniqLast = 0; private final boolean debugMode = false; @@ -335,22 +329,12 @@ public class ActionScriptParser { expected(s, lexer.yyline(), SymbolType.COMMA, SymbolType.PARENT_CLOSE); } } - HashMap registerVars = new HashMap<>(); - registerVars.put("_parent", REGISTER_PARENT); - registerVars.put("_root", REGISTER_ROOT); - registerVars.put("super", REGISTER_SUPER); - registerVars.put("arguments", REGISTER_ARGUMENTS); - registerVars.put("this", REGISTER_THIS); - registerVars.put("_global", REGISTER_GLOBAL); - for (int i = 0; i < paramNames.size(); i++) { - registerVars.put(paramNames.get(i), (7 + i)); //(paramNames.size() - i))); - } List body = null; List subvariables = new ArrayList<>(); if (withBody) { expectedType(SymbolType.CURLY_OPEN); - body = commands(registerVars, true, isMethod, 0, subvariables); + body = commands(new HashMap(), true, isMethod, 0, subvariables); expectedType(SymbolType.CURLY_CLOSE); } diff --git a/trunk/src/com/jpexs/decompiler/flash/action/parser/script/VariableActionItem.java b/trunk/src/com/jpexs/decompiler/flash/action/parser/script/VariableActionItem.java index 30924da2d..d19f47b69 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/parser/script/VariableActionItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/parser/script/VariableActionItem.java @@ -14,7 +14,6 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - package com.jpexs.decompiler.flash.action.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -34,23 +33,20 @@ import java.util.List; public class VariableActionItem extends ActionItem { private ActionItem it; - - private final String variableName; + + private final String variableName; private GraphTargetItem storeValue; private final boolean definition; public void setStoreValue(GraphTargetItem storeValue) { this.storeValue = storeValue; } - - - - public String getVariableName(){ + + public String getVariableName() { return variableName; } - - - public VariableActionItem(String variableName, GraphTargetItem storeValue, boolean definition){ + + public VariableActionItem(String variableName, GraphTargetItem storeValue, boolean definition) { this.variableName = variableName; this.storeValue = storeValue; this.definition = definition; @@ -59,8 +55,6 @@ public class VariableActionItem extends ActionItem { public boolean isDefinition() { return definition; } - - public void setBoxedValue(ActionItem it) { this.it = it; @@ -74,57 +68,45 @@ public class VariableActionItem extends ActionItem { return storeValue; } - - - - - - - @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { - if(it == null){ + if (it == null) { return writer; } - return it.appendTo(writer, localData); + return it.appendTo(writer, localData); } - @Override public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) { - if(it==null){ + if (it == null) { return new ArrayList<>(); - } + } return it.toSource(localData, generator); - } + } @Override public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) { - if(it==null){ + if (it == null) { return new ArrayList<>(); - } + } return it.toSourceIgnoreReturnValue(localData, generator); } - - @Override public boolean hasReturnValue() { - if(it==null){ + if (it == null) { return false; - }else{ + } else { return it.hasReturnValue(); } } @Override public boolean needsSemicolon() { - if(it==null){ + if (it == null) { return super.needsSemicolon(); } - return it.needsSemicolon(); + return it.needsSemicolon(); } - - - + }