mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-27 08:00:46 +00:00
Fixed #2029 Simplify expressions stripping getlex and also ignoring some types of expressions
This commit is contained in:
@@ -30,7 +30,7 @@ import java.util.Objects;
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class GetLexAVM2Item extends AVM2Item implements SimpleValue {
|
||||
public class GetLexAVM2Item extends AVM2Item {
|
||||
|
||||
public Multiname propertyName;
|
||||
|
||||
@@ -70,12 +70,7 @@ public class GetLexAVM2Item extends AVM2Item implements SimpleValue {
|
||||
@Override
|
||||
public boolean hasReturnValue() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSimpleValue() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
|
||||
+4
-1
@@ -24,6 +24,7 @@ import com.jpexs.decompiler.flash.ecma.EcmaType;
|
||||
import com.jpexs.decompiler.graph.CompilationException;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SimpleValue;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.TypeItem;
|
||||
import com.jpexs.decompiler.graph.model.UnaryOpItem;
|
||||
@@ -45,7 +46,9 @@ public class TypeOfAVM2Item extends UnaryOpItem {
|
||||
if (dependencies.contains(value)) {
|
||||
return false;
|
||||
}
|
||||
dependencies.add(value);
|
||||
if (!((value instanceof SimpleValue) && ((SimpleValue)value).isSimpleValue())) {
|
||||
dependencies.add(value);
|
||||
}
|
||||
return value.isCompileTime(dependencies);
|
||||
}
|
||||
|
||||
|
||||
+4
-1
@@ -31,6 +31,7 @@ import com.jpexs.decompiler.graph.GraphPart;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SimpleValue;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
@@ -144,7 +145,9 @@ public class SetVariableActionItem extends ActionItem implements SetTypeActionIt
|
||||
if (dependencies.contains(value)) {
|
||||
return false;
|
||||
}
|
||||
dependencies.add(value);
|
||||
if (!((value instanceof SimpleValue) && ((SimpleValue)value).isSimpleValue())) {
|
||||
dependencies.add(value);
|
||||
}
|
||||
return value.isCompileTime(dependencies);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.jpexs.decompiler.graph.CompilationException;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItemPos;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SimpleValue;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import com.jpexs.decompiler.graph.model.LocalData;
|
||||
import java.util.List;
|
||||
@@ -94,7 +95,9 @@ public class TypeOfActionItem extends ActionItem {
|
||||
if (dependencies.contains(value)) {
|
||||
return false;
|
||||
}
|
||||
dependencies.add(value);
|
||||
if (!((value instanceof SimpleValue) && ((SimpleValue)value).isSimpleValue())) {
|
||||
dependencies.add(value);
|
||||
}
|
||||
return value.isCompileTime(dependencies);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user