Welcome to the Mixin Javadoc

Mixin is a trait/mixin framework for Java using ASM and hooking into the runtime class-loading process via Mojang's LegacyLauncher system. The main documentation for Mixin can be found in the Wiki.

This Javadoc contains documentation for individual features and annotations. For additional help use the channel #mixin on the Sponge Discord Server.

Packages 
Package Description
org.spongepowered.asm.launch
Classes which support environment-agnostic launch logic for the Mixin subsystem and base classes and interfaces for environment-specific adapters.
org.spongepowered.asm.launch.platform
Base classes for environment-specific adapters and default platform-agnostic handlers for environment and mixin containers.
org.spongepowered.asm.launch.platform.container
Default (platform-agnostic) container handles
org.spongepowered.asm.logging
Centrallised logging so that all logging can be delegated to a logging adapter supplied by the mixin service
org.spongepowered.asm.mixin
Primary interaction points ( @Mixin and @MixinEnvironment) and annotations (eg. @Mixin, @Shadow) for mixin consumers.
org.spongepowered.asm.mixin.connect
org.spongepowered.asm.mixin.extensibility
Interfaces for internal Mixin objects which provide extensibility for mixin consumers.
org.spongepowered.asm.mixin.gen
Generators, a special type of injector which replace the annotated method with synthetic content, see @Accessor and @Invoker.
org.spongepowered.asm.mixin.injection
Injectors are class postprocessors which search for annotated methods merged by mixins and perform weaving operations as requested.
org.spongepowered.asm.mixin.injection.callback
Implementation of callback injector functionality provided by @#64;Inject.
org.spongepowered.asm.mixin.injection.code
Common base classes for injector implementations.
org.spongepowered.asm.mixin.injection.invoke
Implementation of injectors which primarily mutate method invocations.
org.spongepowered.asm.mixin.injection.invoke.arg
Support classes for @ModifyArgs which handle argument bundles (Args).
org.spongepowered.asm.mixin.injection.invoke.util
Utility classes for invoke injectors.
org.spongepowered.asm.mixin.injection.modify
Implementation of variable modifier injector specified by @ModifyVariable
org.spongepowered.asm.mixin.injection.points
Built-in injection point classes.
org.spongepowered.asm.mixin.injection.selectors
Target selectors are consumed by injectors and injection points when identifying target members in a class or inside a method, see ITargetSelector.
org.spongepowered.asm.mixin.injection.selectors.dynamic
Dynamic target selectors provide custom logic for selecting injector targets.
org.spongepowered.asm.mixin.injection.struct
Internal data bundles used by injectors during application.
org.spongepowered.asm.mixin.refmap
Refmaps are data bundles which map string references to obfuscated counterparts at runtime, see ReferenceMapper.
org.spongepowered.asm.mixin.struct
Internal data bundles used by mixin during application.
org.spongepowered.asm.mixin.transformer
Internal mixin transformation pipeline classes.
org.spongepowered.asm.mixin.transformer.ext
Internal mixin transformation pipeline extension interface and registry of active extensions.
org.spongepowered.asm.mixin.transformer.ext.extensions
Internal mixin transformation pipeline extensions.
org.spongepowered.asm.mixin.transformer.meta
Meta annotations applied by the mixin processor to fingerprint mixin actions.
org.spongepowered.asm.mixin.transformer.struct  
org.spongepowered.asm.obfuscation
Obfuscation-related structs for interoperability with the annotation processor and runtime obfuscation utilities.
org.spongepowered.asm.obfuscation.mapping
Interface for structs for method and field mappings.
org.spongepowered.asm.obfuscation.mapping.common
Structs for method and field mappings.
org.spongepowered.asm.obfuscation.mapping.mcp
Structs for method and field mappings with specific behaviour for MCP
org.spongepowered.asm.service
Mixin service interface, with base classes for all the moving parts of the Mixin transformation pipeline and supporting infrastructure.
org.spongepowered.asm.transformers
Specialised ASM utility and base classes used by the mixin processor.
org.spongepowered.asm.util
Utility classes used by the entire Mixin pipeline, including utilities for working with bytecode as well as general-purpose tools and parsers.
org.spongepowered.asm.util.asm
Utilities, abstractions and specialised subclasses used by Mixin for interacting with ASM.
org.spongepowered.asm.util.logging
Logging abstraction to provide a unified logging interface for classes which operate both at runtime and in the AP.
org.spongepowered.asm.util.perf
Performance profiling for Mixin.