diff options
| author | 2016-08-20 13:45:13 +0200 | |
|---|---|---|
| committer | 2016-10-18 18:09:30 +0200 | |
| commit | c046a479ce87a10bb06ba379e7a7e3223ecc09df (patch) | |
| tree | 80e23c8b2a8777d6433a03bb86a4ef41fef26714 | |
| parent | Avoid crashes with not defined docs elements (diff) | |
| download | enigma-feature/javadoc.tar.gz enigma-feature/javadoc.tar.xz enigma-feature/javadoc.zip | |
Make sure that deob entries are detected for JavaDocfeature/javadoc
| -rw-r--r-- | src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java | 9 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/mapping/javadoc/JavaDocMapping.java | 4 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java b/src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java index 7f8779fc..fa0e07a9 100644 --- a/src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java +++ b/src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java | |||
| @@ -79,7 +79,7 @@ public class ClassTranslator { | |||
| 79 | 79 | ||
| 80 | ClassEntry classEntry = new ClassEntry(Descriptor.toJvmName(c.getName())); | 80 | ClassEntry classEntry = new ClassEntry(Descriptor.toJvmName(c.getName())); |
| 81 | 81 | ||
| 82 | // Try to add javadoc to constructor | 82 | // Try to add javadoc to class |
| 83 | docMapping.tryToAddJavaDoc(c, classEntry); | 83 | docMapping.tryToAddJavaDoc(c, classEntry); |
| 84 | // translate all the fields | 84 | // translate all the fields |
| 85 | for (CtField field : c.getDeclaredFields()) { | 85 | for (CtField field : c.getDeclaredFields()) { |
| @@ -94,7 +94,7 @@ public class ClassTranslator { | |||
| 94 | field.setName(translatedName); | 94 | field.setName(translatedName); |
| 95 | 95 | ||
| 96 | // Try to add javadoc as ob | 96 | // Try to add javadoc as ob |
| 97 | docMapping.tryToAddJavaDoc(field, entry); | 97 | docMapping.tryToAddJavaDoc(field, EntryFactory.getFieldEntry(field)); |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | // translate the type | 100 | // translate the type |
| @@ -115,10 +115,9 @@ public class ClassTranslator { | |||
| 115 | // translate the name | 115 | // translate the name |
| 116 | String translatedName = this.translator.translate(entry); | 116 | String translatedName = this.translator.translate(entry); |
| 117 | if (translatedName != null) { | 117 | if (translatedName != null) { |
| 118 | MethodEntry deObfuscatedMethod = new MethodEntry(entry.getClassEntry(), translatedName, entry.getSignature()); | ||
| 119 | method.setName(translatedName); | 118 | method.setName(translatedName); |
| 120 | // Try to add javadoc as ob | 119 | // Try to add javadoc as ob |
| 121 | docMapping.tryToAddJavaDoc(method, entry, deObfuscatedMethod); | 120 | docMapping.tryToAddJavaDoc(method, entry, EntryFactory.getMethodEntry(method)); |
| 122 | } | 121 | } |
| 123 | } | 122 | } |
| 124 | else | 123 | else |
| @@ -170,6 +169,8 @@ public class ClassTranslator { | |||
| 170 | if (deobfClassEntry != null) { | 169 | if (deobfClassEntry != null) { |
| 171 | String sourceFile = Descriptor.toJvmName(deobfClassEntry.getOutermostClassEntry().getSimpleName()) + ".java"; | 170 | String sourceFile = Descriptor.toJvmName(deobfClassEntry.getOutermostClassEntry().getSimpleName()) + ".java"; |
| 172 | c.getClassFile().addAttribute(new SourceFileAttribute(constants, sourceFile)); | 171 | c.getClassFile().addAttribute(new SourceFileAttribute(constants, sourceFile)); |
| 172 | // Try to add javadoc to class as deobfuscated | ||
| 173 | docMapping.tryToAddJavaDoc(c, deobfClassEntry); | ||
| 173 | } | 174 | } |
| 174 | } | 175 | } |
| 175 | } | 176 | } |
diff --git a/src/main/java/cuchaz/enigma/mapping/javadoc/JavaDocMapping.java b/src/main/java/cuchaz/enigma/mapping/javadoc/JavaDocMapping.java index 8b68a12d..cdc78501 100644 --- a/src/main/java/cuchaz/enigma/mapping/javadoc/JavaDocMapping.java +++ b/src/main/java/cuchaz/enigma/mapping/javadoc/JavaDocMapping.java | |||
| @@ -34,9 +34,9 @@ public class JavaDocMapping | |||
| 34 | this.behaviorByID = new ArrayList<>(); | 34 | this.behaviorByID = new ArrayList<>(); |
| 35 | 35 | ||
| 36 | // TODO: File format | 36 | // TODO: File format |
| 37 | addField("a", "none/akw", "Lnone/kp;", "Hello from Enigma"); | 37 | addField("id", "none/akw", "Lnone/kp;", "Hello from Enigma"); |
| 38 | addMethod("<init>", "none/akw", "(Lnone/ayo;)V", "You know what? I love constructors!", null, new String[]{ "The material of the block!" }); | 38 | addMethod("<init>", "none/akw", "(Lnone/ayo;)V", "You know what? I love constructors!", null, new String[]{ "The material of the block!" }); |
| 39 | addClass("none/akw", "HEY I'M A BLOCK YOU KNOW THAT?!"); | 39 | addClass("net/minecraft/block/Block", "HEY I'M A BLOCK YOU KNOW THAT?!"); |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | private void addClass(String className, String comment) | 42 | private void addClass(String className, String comment) |