Interface BytecodeProvider<M>

  • Type Parameters:
    M - The type of the modularity attachment. A recommended type can be ClassLoader, but really anything goes, Void for example is perfectly fine as long as the BytecodeProvider accounts for null attachments.

    public interface BytecodeProvider<M>
    A BytecodeProvider provides ClassNode instances for arbitrary classes. It is up to the API consumer to implement this interface.

    In order to easily support modularity and further segregation of code, the bytecode provider is always given a Modularity attachment. The MixinTransformer will have the same type of the modularity attachment as the BytecodeProvider.

    Implementors are highly recommended to also implements the CodeSourceURIProvider interface. Future versions of micromxin-transformer are likely to require all implementations of BytecodeProvider to also implement CodeSourceURIProvider for maintenance, stability and uniformity reasons.

    See Also:
    CodeSourceURIProvider
    • Method Detail

      • getClassNode

        @NotNull
        org.objectweb.asm.tree.ClassNode getClassNode​(M modularityAttachment,
                                                      @NotNull
                                                      java.lang.String internalName)
                                               throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException