# All Packages

- Package Summary
  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 | See `IMixinConnector`
  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.