diff options
| author | 2022-12-07 20:03:10 +0100 | |
|---|---|---|
| committer | 2022-12-07 19:03:10 +0000 | |
| commit | 23d7b2277aa3d82e3f2c7a9aa3fa385caddba54b (patch) | |
| tree | d51fcace19732369ec5d214a2489d184064e209b | |
| parent | Clear Javadoc when text is empty (#473) (diff) | |
| download | enigma-23d7b2277aa3d82e3f2c7a9aa3fa385caddba54b.tar.gz enigma-23d7b2277aa3d82e3f2c7a9aa3fa385caddba54b.tar.xz enigma-23d7b2277aa3d82e3f2c7a9aa3fa385caddba54b.zip | |
Don't save empty classes (#474)
Co-authored-by: ByMartrixx <bymartrixx@gmail.com>
| -rw-r--r-- | enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java index cd00ef77..df1af912 100644 --- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java +++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/serde/enigma/EnigmaMappingsWriter.java | |||
| @@ -26,6 +26,7 @@ import java.util.Collection; | |||
| 26 | import java.util.Collections; | 26 | import java.util.Collections; |
| 27 | import java.util.Objects; | 27 | import java.util.Objects; |
| 28 | import java.util.concurrent.atomic.AtomicInteger; | 28 | import java.util.concurrent.atomic.AtomicInteger; |
| 29 | import java.util.stream.Collectors; | ||
| 29 | import java.util.stream.Stream; | 30 | import java.util.stream.Stream; |
| 30 | 31 | ||
| 31 | import javax.annotation.Nonnull; | 32 | import javax.annotation.Nonnull; |
| @@ -78,6 +79,8 @@ public enum EnigmaMappingsWriter implements MappingsWriter { | |||
| 78 | 79 | ||
| 79 | applyDeletions(path, changedClasses, mappings, delta.getBaseMappings(), saveParameters.getFileNameFormat()); | 80 | applyDeletions(path, changedClasses, mappings, delta.getBaseMappings(), saveParameters.getFileNameFormat()); |
| 80 | 81 | ||
| 82 | changedClasses = changedClasses.stream().filter(entry -> !isClassEmpty(mappings, entry)).collect(Collectors.toList()); | ||
| 83 | |||
| 81 | progress.init(changedClasses.size(), I18n.translate("progress.mappings.enigma_directory.writing")); | 84 | progress.init(changedClasses.size(), I18n.translate("progress.mappings.enigma_directory.writing")); |
| 82 | 85 | ||
| 83 | AtomicInteger steps = new AtomicInteger(); | 86 | AtomicInteger steps = new AtomicInteger(); |
| @@ -313,4 +316,15 @@ public enum EnigmaMappingsWriter implements MappingsWriter { | |||
| 313 | builder.append(line.trim()); | 316 | builder.append(line.trim()); |
| 314 | return builder.toString(); | 317 | return builder.toString(); |
| 315 | } | 318 | } |
| 319 | |||
| 320 | protected boolean isClassEmpty(EntryTree<EntryMapping> mappings, ClassEntry classEntry) { | ||
| 321 | Collection<Entry<?>> children = groupChildren(mappings.getChildren(classEntry)); | ||
| 322 | |||
| 323 | EntryMapping classEntryMapping = mappings.get(classEntry); | ||
| 324 | return children.isEmpty() && (classEntryMapping == null || isMappingEmpty(classEntryMapping)); | ||
| 325 | } | ||
| 326 | |||
| 327 | private boolean isMappingEmpty(EntryMapping mapping) { | ||
| 328 | return mapping.targetName() == null && mapping.accessModifier() == AccessModifier.UNCHANGED && mapping.javadoc() == null; | ||
| 329 | } | ||
| 316 | } | 330 | } |