summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/de/fernflower/modules/decompiler/exps/AssignmentExprent.java2
-rw-r--r--test/unit/classes/TestClassTypes.java15
-rw-r--r--test/unit/results/TestClassTypes.dec11
3 files changed, 27 insertions, 1 deletions
diff --git a/src/de/fernflower/modules/decompiler/exps/AssignmentExprent.java b/src/de/fernflower/modules/decompiler/exps/AssignmentExprent.java
index 2aa359d..a672f6c 100644
--- a/src/de/fernflower/modules/decompiler/exps/AssignmentExprent.java
+++ b/src/de/fernflower/modules/decompiler/exps/AssignmentExprent.java
@@ -65,7 +65,7 @@ public class AssignmentExprent extends Exprent {
public VarType getExprType() {
- return right.getExprType();
+ return left.getExprType();
}
diff --git a/test/unit/classes/TestClassTypes.java b/test/unit/classes/TestClassTypes.java
index 0d0cba1..a23e256 100644
--- a/test/unit/classes/TestClassTypes.java
+++ b/test/unit/classes/TestClassTypes.java
@@ -1,5 +1,8 @@
package unit.classes;
+import java.util.ArrayList;
+import java.util.List;
+
public class TestClassTypes {
public void testBoolean() {
@@ -18,4 +21,16 @@ public class TestClassTypes {
}
}
+
+ public void testAssignmentType(List list) {
+
+ List a = list;
+
+ if(a != null) {
+ (a = new ArrayList(a)).add("23");
+ }
+
+ System.out.println(a.size());
+ }
+
}
diff --git a/test/unit/results/TestClassTypes.dec b/test/unit/results/TestClassTypes.dec
index f4c6885..8e3ec08 100644
--- a/test/unit/results/TestClassTypes.dec
+++ b/test/unit/results/TestClassTypes.dec
@@ -1,5 +1,7 @@
package unit.classes;
+import java.util.ArrayList;
+import java.util.List;
public class TestClassTypes {
@@ -17,4 +19,13 @@ public class TestClassTypes {
}
}
+
+ public void testAssignmentType(List var1) {
+ Object var2 = var1;
+ if(var1 != null) {
+ ((List)(var2 = new ArrayList(var1))).add("23");
+ }
+
+ System.out.println(((List)var2).size());
+ }
}