|
|
@ -20,6 +20,7 @@ |
|
|
|
package jode.expr; |
|
|
|
package jode.expr; |
|
|
|
import jode.Type; |
|
|
|
import jode.Type; |
|
|
|
import jode.decompiler.CodeAnalyzer; |
|
|
|
import jode.decompiler.CodeAnalyzer; |
|
|
|
|
|
|
|
import jode.decompiler.FieldAnalyzer; |
|
|
|
|
|
|
|
|
|
|
|
public class PutFieldOperator extends StoreInstruction { |
|
|
|
public class PutFieldOperator extends StoreInstruction { |
|
|
|
CodeAnalyzer codeAnalyzer; |
|
|
|
CodeAnalyzer codeAnalyzer; |
|
|
@ -44,13 +45,6 @@ public class PutFieldOperator extends StoreInstruction { |
|
|
|
return staticFlag; |
|
|
|
return staticFlag; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public boolean isSynthetic() { |
|
|
|
|
|
|
|
if (!isThis()) |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
return codeAnalyzer.getClassAnalyzer() |
|
|
|
|
|
|
|
.getField(fieldName, fieldType).isSynthetic(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Checks, whether this is a call of a method from this class. |
|
|
|
* Checks, whether this is a call of a method from this class. |
|
|
|
* @XXX check, if this class implements the method and if not |
|
|
|
* @XXX check, if this class implements the method and if not |
|
|
@ -61,6 +55,13 @@ public class PutFieldOperator extends StoreInstruction { |
|
|
|
getName()))); |
|
|
|
getName()))); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public FieldAnalyzer getField() { |
|
|
|
|
|
|
|
if (!isThis()) |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
return codeAnalyzer.getClassAnalyzer() |
|
|
|
|
|
|
|
.getField(fieldName, fieldType); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getFieldName() { |
|
|
|
public String getFieldName() { |
|
|
|
return fieldName; |
|
|
|
return fieldName; |
|
|
|
} |
|
|
|
} |
|
|
|