summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thog2016-08-20 13:45:13 +0200
committerGravatar Thog2016-10-18 18:09:30 +0200
commitc046a479ce87a10bb06ba379e7a7e3223ecc09df (patch)
tree80e23c8b2a8777d6433a03bb86a4ef41fef26714
parentAvoid crashes with not defined docs elements (diff)
downloadenigma-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.java9
-rw-r--r--src/main/java/cuchaz/enigma/mapping/javadoc/JavaDocMapping.java4
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)