aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/replaymod/gradle/remap
AgeCommit message (Collapse)Author
2019-06-17Re-write to use Intellij's PSI (via kotlin-compiler) instead of ECJJonas Herzig
Primarily for potential kotlin support. Secondarily, this allows us to drop the EPL (kotlin-compiler is ASL2.0). This also fixes an issue where redirect/inject methods with names identical to remapped names in the target class would get renamed. This also seems to implement the implicit member reference check (to prevent accidental name shadowing after remapping) more thoroughly, at least it finds some valid cases which the previous implementation has ignored.
2019-05-25Fix overridden super-super-class methods with no mappings for super classJonas Herzig
E.g. A extends B extends C where only C has declared mappings will prematurely stop searching for C-methods overridden in A because there are no mappings for B
2019-05-01Stop manually remapping imported namesJonas Herzig
These should all be sufficiently covered by the other paths.
2019-05-01Fix remapping of overridden methods in anonymous classesJonas Herzig
2019-05-01Support remapping members which have been moved on the class hierarchyJonas Herzig
2019-04-29Support FIELD targets in @AtJonas Herzig
2019-04-29Fix double remapping of method invocationsJonas Herzig
E.g. `isKeyDown` was mapped to `isPressed` and then again to `wasPressed` Not even sure why that extra call was there in the first place.
2019-04-29Prevent local variables from shadowing of implicit member referencesJonas Herzig
E.g. `Entity#posX` is remapped to `x` which may then be shadowed by a local variable with the same name. Since I cannot figure out how to get JDT to give me a list of all variables in scope at a particular node, the solution employed is to just forbid any implicit references to remapped members. This finds quite a few false positives (but not too many to manually deal with), so I'd be quite happy to switch to another solution if one becomes available.
2019-04-29Significantly improve performance by resolving all files at onceJonas Herzig
2019-04-29Fix double-remapping of import declarationsJonas Herzig
2019-04-29Support remapping Mixin @At targetsJonas Herzig
2019-04-27Also fix method/field mappings for types with genericsJonas Herzig
2019-04-26Support remapping of overridden methodsJonas Herzig
2019-04-26Fix remapping of types which have generics on themJonas Herzig
2019-04-26Add support for some Mixin featuresJonas Herzig
To be specific - `method` of Inject/Redirect - `Shadow` members - `Accessor` methods
2019-04-26Fix class name mapping for (even partially) swapped namesJonas Herzig
E.g. with mappings: A to B B to C this A a; B b; should map to B a C b; but didn't.
2019-04-25Fix lombok annotations being replaced if their AST is remappedJonas Herzig
E.g. @Getter private Minecraft mc; incorrectly remapped to @MinecraftClient private MinecraftClient mc;
2019-04-24Initial commitJonas Herzig