diff --git a/jode/jode/expr/LocalStoreOperator.java b/jode/jode/expr/LocalStoreOperator.java index 7f3f514..09e307a 100644 --- a/jode/jode/expr/LocalStoreOperator.java +++ b/jode/jode/expr/LocalStoreOperator.java @@ -64,6 +64,10 @@ public class LocalStoreOperator extends StoreInstruction == local.getSlot(); } + public int getLValuePriority() { + return 1000; + } + public int getLValueOperandCount() { return 0; } diff --git a/jode/jode/expr/PutFieldOperator.java b/jode/jode/expr/PutFieldOperator.java index d0be5f5..3e1d1e0 100644 --- a/jode/jode/expr/PutFieldOperator.java +++ b/jode/jode/expr/PutFieldOperator.java @@ -75,6 +75,10 @@ public class PutFieldOperator extends StoreInstruction { && ((GetFieldOperator)loadop).ref.equals(ref); } + public int getLValuePriority() { + return 950; + } + public int getLValueOperandCount() { return staticFlag?0:1; } diff --git a/jode/jode/expr/StoreInstruction.java b/jode/jode/expr/StoreInstruction.java index 0f02786..bfb54d0 100644 --- a/jode/jode/expr/StoreInstruction.java +++ b/jode/jode/expr/StoreInstruction.java @@ -84,6 +84,8 @@ public abstract class StoreInstruction extends Operator return 100; } + public abstract int getLValuePriority(); + public Type getOperandType(int i) { if (i == getLValueOperandCount()) { if (getOperatorIndex() == ASSIGN_OP)