mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-22 02:37:08 +00:00
Fixed #1920 Slower decompilation (returnType method optimization)
This commit is contained in:
@@ -13,6 +13,7 @@ All notable changes to this project will be documented in this file.
|
||||
- [#1914] DropShadow filter
|
||||
- [#1916] Translation tool did not load up
|
||||
- PlaceObject preview not cleared causing sound to repeat
|
||||
- [#1920] Slower decompilation (returnType method optimization)
|
||||
|
||||
## [18.1.0] - 2022-12-23
|
||||
### Added
|
||||
@@ -2805,6 +2806,7 @@ All notable changes to this project will be documented in this file.
|
||||
[#1852]: https://www.free-decompiler.com/flash/issues/1852
|
||||
[#1914]: https://www.free-decompiler.com/flash/issues/1914
|
||||
[#1916]: https://www.free-decompiler.com/flash/issues/1916
|
||||
[#1920]: https://www.free-decompiler.com/flash/issues/1920
|
||||
[#1231]: https://www.free-decompiler.com/flash/issues/1231
|
||||
[#1690]: https://www.free-decompiler.com/flash/issues/1690
|
||||
[#1460]: https://www.free-decompiler.com/flash/issues/1460
|
||||
|
||||
@@ -95,28 +95,28 @@ public class AddAVM2Item extends BinaryOpItem implements CompoundableBinaryOp {
|
||||
|
||||
@Override
|
||||
public GraphTargetItem returnType() {
|
||||
if (leftSide.returnType().equals(TypeItem.STRING) || rightSide.returnType().equals(TypeItem.STRING)) {
|
||||
GraphTargetItem leftType = leftSide.returnType();
|
||||
GraphTargetItem rightType = rightSide.returnType();
|
||||
if (leftType.equals(TypeItem.STRING) || rightType.equals(TypeItem.STRING)) {
|
||||
return TypeItem.STRING;
|
||||
}
|
||||
if (leftSide.returnType().equals(TypeItem.INT) && rightSide.returnType().equals(TypeItem.INT)) {
|
||||
if (leftType.equals(TypeItem.INT) && rightType.equals(TypeItem.INT)) {
|
||||
return TypeItem.INT;
|
||||
}
|
||||
|
||||
if ((leftSide.returnType().equals(TypeItem.INT) && rightSide.returnType().equals(TypeItem.UINT))||
|
||||
(leftSide.returnType().equals(TypeItem.UINT) && rightSide.returnType().equals(TypeItem.INT))
|
||||
if ((leftType.equals(TypeItem.INT) && rightType.equals(TypeItem.UINT))||
|
||||
(leftType.equals(TypeItem.UINT) && rightType.equals(TypeItem.INT))
|
||||
) {
|
||||
return TypeItem.INT;
|
||||
}
|
||||
|
||||
if (leftSide.returnType().equals(TypeItem.UINT) && rightSide.returnType().equals(TypeItem.UINT)) {
|
||||
if (leftType.equals(TypeItem.UINT) && rightType.equals(TypeItem.UINT)) {
|
||||
return TypeItem.UINT;
|
||||
}
|
||||
|
||||
if (leftSide.returnType().equals(TypeItem.NUMBER) || rightSide.returnType().equals(TypeItem.NUMBER)) {
|
||||
if (leftType.equals(TypeItem.NUMBER) || rightType.equals(TypeItem.NUMBER)) {
|
||||
return TypeItem.NUMBER;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return TypeItem.NUMBER;
|
||||
}
|
||||
|
||||
|
||||
@@ -77,13 +77,15 @@ public class MultiplyAVM2Item extends BinaryOpItem implements CompoundableBinary
|
||||
|
||||
@Override
|
||||
public GraphTargetItem returnType() {
|
||||
if (leftSide.returnType().equals(TypeItem.INT) && rightSide.returnType().equals(TypeItem.INT)) {
|
||||
GraphTargetItem leftType = leftSide.returnType();
|
||||
GraphTargetItem rightType = rightSide.returnType();
|
||||
if (leftType.equals(TypeItem.INT) && rightType.equals(TypeItem.INT)) {
|
||||
return TypeItem.INT;
|
||||
}
|
||||
if (leftSide.returnType().equals(TypeItem.UINT) && rightSide.returnType().equals(TypeItem.UINT)) {
|
||||
if (leftType.equals(TypeItem.UINT) && rightType.equals(TypeItem.UINT)) {
|
||||
return TypeItem.UINT;
|
||||
}
|
||||
if (leftSide.returnType().equals(TypeItem.NUMBER) || rightSide.returnType().equals(TypeItem.NUMBER)) {
|
||||
if (leftType.equals(TypeItem.NUMBER) || rightType.equals(TypeItem.NUMBER)) {
|
||||
return TypeItem.NUMBER;
|
||||
}
|
||||
|
||||
|
||||
@@ -86,21 +86,23 @@ public class SubtractAVM2Item extends BinaryOpItem implements CompoundableBinary
|
||||
|
||||
@Override
|
||||
public GraphTargetItem returnType() {
|
||||
if (leftSide.returnType().equals(TypeItem.INT) && rightSide.returnType().equals(TypeItem.INT)) {
|
||||
GraphTargetItem leftType = leftSide.returnType();
|
||||
GraphTargetItem rightType = rightSide.returnType();
|
||||
|
||||
if (leftType.equals(TypeItem.INT) && rightType.equals(TypeItem.INT)) {
|
||||
return TypeItem.INT;
|
||||
}
|
||||
|
||||
if ((leftSide.returnType().equals(TypeItem.INT) && rightSide.returnType().equals(TypeItem.UINT))||
|
||||
(leftSide.returnType().equals(TypeItem.UINT) && rightSide.returnType().equals(TypeItem.INT))
|
||||
) {
|
||||
if ((leftType.equals(TypeItem.INT) && rightType.equals(TypeItem.UINT))||
|
||||
(leftType.equals(TypeItem.UINT) && rightType.equals(TypeItem.INT))) {
|
||||
return TypeItem.INT;
|
||||
}
|
||||
|
||||
if (leftSide.returnType().equals(TypeItem.UINT) && rightSide.returnType().equals(TypeItem.UINT)) {
|
||||
if (leftType.equals(TypeItem.UINT) && rightType.equals(TypeItem.UINT)) {
|
||||
return TypeItem.INT;
|
||||
}
|
||||
|
||||
if (leftSide.returnType().equals(TypeItem.NUMBER) || rightSide.returnType().equals(TypeItem.NUMBER)) {
|
||||
if (leftType.equals(TypeItem.NUMBER) || rightType.equals(TypeItem.NUMBER)) {
|
||||
return TypeItem.NUMBER;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user