fix: UnsupportedOperationException on adding a field (#1645)(PR #1646)

* fix: UnsupportedOperationException on adding a field

* changed list check and creation similar to safeAdd
This commit is contained in:
Jan S
2022-08-18 16:33:18 +02:00
committed by GitHub
parent 127f0ecf3f
commit 894e0e6132
2 changed files with 4 additions and 1 deletions
@@ -469,6 +469,9 @@ public class ClassNode extends NotificationAttrNode implements ILoadable, ICodeN
}
public void addField(FieldNode fld) {
if (fields == null || fields.isEmpty()) {
fields = new ArrayList<>(1);
}
fields.add(fld);
}
@@ -129,7 +129,7 @@ public class AndroidResourcesUtils {
FieldNode newResField = new FieldNode(typeCls, rFieldInfo,
AccessFlags.PUBLIC | AccessFlags.STATIC | AccessFlags.FINAL);
newResField.addAttr(new EncodedValue(EncodedType.ENCODED_INT, resource.getId()));
typeCls.getFields().add(newResField);
typeCls.addField(newResField);
if (rClsExists) {
newResField.addInfoComment("Added by JADX");
}