diff options
| author | 2023-05-14 10:25:37 -0600 | |
|---|---|---|
| committer | 2023-05-14 17:25:37 +0100 | |
| commit | 024f8bf951ebc69b7f6361f3a378d042306581d7 (patch) | |
| tree | 7a3b9a2e76652c310a004010a55f12cd8230aa52 /enigma-swing/src | |
| parent | Update CfrDecompiler.java (#498) (diff) | |
| download | enigma-024f8bf951ebc69b7f6361f3a378d042306581d7.tar.gz enigma-024f8bf951ebc69b7f6361f3a378d042306581d7.tar.xz enigma-024f8bf951ebc69b7f6361f3a378d042306581d7.zip | |
fix npe in mapping stats when package name is null (#504)
Diffstat (limited to 'enigma-swing/src')
| -rw-r--r-- | enigma-swing/src/main/java/cuchaz/enigma/gui/stats/StatsGenerator.java | 6 |
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 915f1c61..629793bd 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 | } |