OrnitheMC/enigma

Change names in javadocs when you change a mapping.

Opened this issue · 1 comments

This is a separate issue for #6. This relates to the second bulletin of this issue.
When changing a mapping the javadocs should also update automatically so links don't break and you don't have to manually change all the javadocs.

  • For the @param tag: when changing the parameter of a method, the parameter should change inside the javadoc for that function.
  • For method or class names linked using @link, @linkplain, @see the linked methods or classes should change names when the linked class or method changes names.

The second point seems the most troublesome at the moment. This will probably need some kind of indexing where when starting enigma, all javadocs are searched for links and indexed which methods or functions are linked. This way we won't need to look through everything each time a mapping is changed. Looking up the indexed methods should be fast enough so there is no noticeable additional lag when renaming a method or a class.

My current idea is a hashmap with the class like as a key net.minecraft.package.ClassName. Each class would then have another hashmap as it's value. It's keys then have the methods from this class that are linked in javadocs, the values are all the javadocs in which these methods are linked.

Please feel welcome to suggest a better datastructure to use or even a better way of indexing.