summaryrefslogtreecommitdiff
path: root/enigma-swing/src/main/java/cuchaz/enigma/gui
diff options
context:
space:
mode:
authorGravatar mudkip2023-05-14 10:25:37 -0600
committerGravatar GitHub2023-05-14 17:25:37 +0100
commit024f8bf951ebc69b7f6361f3a378d042306581d7 (patch)
tree7a3b9a2e76652c310a004010a55f12cd8230aa52 /enigma-swing/src/main/java/cuchaz/enigma/gui
parentUpdate CfrDecompiler.java (#498) (diff)
downloadenigma-fork-024f8bf951ebc69b7f6361f3a378d042306581d7.tar.gz
enigma-fork-024f8bf951ebc69b7f6361f3a378d042306581d7.tar.xz
enigma-fork-024f8bf951ebc69b7f6361f3a378d042306581d7.zip
fix npe in mapping stats when package name is null (#504)
Diffstat (limited to 'enigma-swing/src/main/java/cuchaz/enigma/gui')
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsGenerator.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsGenerator.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsGenerator.java
index 915f1c6..629793b 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsGenerator.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsGenerator.java
@@ -66,8 +66,9 @@ public class StatsGenerator {
66 .findFirst() 66 .findFirst()
67 .orElseThrow(AssertionError::new); 67 .orElseThrow(AssertionError::new);
68 ClassEntry clazz = root.getParent(); 68 ClassEntry clazz = root.getParent();
69 final String packageName = this.mapper.deobfuscate(clazz).getPackageName();
69 70
70 if (root == method && this.mapper.deobfuscate(clazz).getPackageName().startsWith(topLevelPackageSlash)) { 71 if (root == method && packageName != null && packageName.startsWith(topLevelPackageSlash)) {
71 if (includedMembers.contains(StatsMember.METHODS) && !((MethodDefEntry) method).getAccess().isSynthetic()) { 72 if (includedMembers.contains(StatsMember.METHODS) && !((MethodDefEntry) method).getAccess().isSynthetic()) {
72 update(counts, method); 73 update(counts, method);
73 totalMappable++; 74 totalMappable++;
@@ -90,8 +91,9 @@ public class StatsGenerator {
90 for (FieldEntry field : entryIndex.getFields()) { 91 for (FieldEntry field : entryIndex.getFields()) {
91 progress.step(numDone++, I18n.translate("type.fields")); 92 progress.step(numDone++, I18n.translate("type.fields"));
92 ClassEntry clazz = field.getParent(); 93 ClassEntry clazz = field.getParent();
94 final String packageName = this.mapper.deobfuscate(clazz).getPackageName();
93 95
94 if (!((FieldDefEntry) field).getAccess().isSynthetic() && this.mapper.deobfuscate(clazz).getPackageName().startsWith(topLevelPackageSlash)) { 96 if (!((FieldDefEntry) field).getAccess().isSynthetic() && packageName != null && packageName.startsWith(topLevelPackageSlash)) {
95 update(counts, field); 97 update(counts, field);
96 totalMappable++; 98 totalMappable++;
97 } 99 }