# Package org.spongepowered.asm.service

Mixin service interface, with base classes for all the moving parts of the Mixin transformation pipeline and supporting infrastructure. Abstracted here and implemented by platform-specific modules.

Interface Summary
IAdviceProvider: Advice providers are responsible for providing suggestions to solve service-specific problems.
IClassBytecodeProvider: Interface for object which can provide class bytecode
IClassProvider: Interface for marshal object which can retrieve classes from the environment
IClassTracker: Class trackers are responsible for interacting with the class loading process to for the purposes of tracking class load activity and class load restrictions.
IFeatureValidator: Feature validators are responsible for deciding if certain features are allowed in given contexts.
IGlobalPropertyService: Global property service
ILegacyClassTransformer: Adapter interface for legacy class transformers.
IMixinAuditTrail: Audit trail is responsible for logging activities during mixin application to target classes for use as debugging information later on.
IMixinInternal: A mixin internal part, offered to services.
IMixinService: Mixin Service interface.
IMixinServiceBootstrap: Bootstrap interface for Mixin services.
IPropertyKey: Marker interface for property keys
ISyntheticClassInfo: Interface for information bundle about a synthetic class provided by Mixin.
ISyntheticClassRegistry: Registry for synthetic classes, used internally to track which classes need to be generated at runtime by the mixin pipeline.
ITransformer: Base interface for transformer types
ITransformerProvider: Interface for interacting with transforming classloaders.
ITreeClassTransformer: Adapter interface for tree class transformers.

Class Summary
MixinService: Provides access to the service layer which connects the mixin transformer to a particular host environment.
MixinServiceAbstract: Mixin Service base class

Exception Summary
ServiceInitialisationException: Exception thrown when a service fails during initialisation, expected if the service is missing a dependency or is attempting to boot in an incompatible environment

Error Summary
ServiceNotAvailableError: Error to throw when no service is available in the current environment
ServiceVersionError: Error to throw when loaded service is out of date or mismatched