-
-
Notifications
You must be signed in to change notification settings - Fork 199
AccessTransformer does not transform subclasses #538
Comments
This is not possible to fix without major trouble. ClassTransformers don't know about the classpath, they only get one class at a time. |
Unless you come up with a good reliable idea on how to generate the inheritance map at runtime this might be feasible. |
As superclasses are loaded before the classes that extend them, this might actually be easy to do. I'll try something when i get home |
Though it doesn't mean other inherited versions will load at the same time. |
They can load later. Thats no problem. By that time the inherition info is already built |
MM yes, but what about interfaces or the like that are declared in the sub-c;ass but implemented by the parent? How do you deal with those? |
you don't need to deal with those, i think. |
by change root class, i mean define AT rules for root class. |
That is indeed a problem, lex. What we can do is use the asm class adapter that searches for annotations to also collect inheritance data and use that in the AT. |
jk if you find a solution let me know. Don't forget about the issues of mods adding things to the classpath without us knowing about it. |
It needs a proper system for ClassTransformers. |
and for minecraft code you can have pre-generated inheritance data, and runtime monitoring changes |
currently, AT will only transform the specific class, its subclasses will stay same.
this became a problem when you need to change access of a method, you have to add every single subclasses and ones that other mods add.
The text was updated successfully, but these errors were encountered: