# Hierarchy For All Packages

Package Hierarchies:

- org.stianloader.micromixin.transform.api,
- org.stianloader.micromixin.transform.api.supertypes,
- org.stianloader.micromixin.transform.internal,
- org.stianloader.micromixin.transform.internal.annotation,
- org.stianloader.micromixin.transform.internal.annotation.micromixin,
- org.stianloader.micromixin.transform.internal.annotation.mixinsextras,
- org.stianloader.micromixin.transform.internal.selectors,
- org.stianloader.micromixin.transform.internal.selectors.constant,
- org.stianloader.micromixin.transform.internal.selectors.inject,
- org.stianloader.micromixin.transform.internal.util,
- org.stianloader.micromixin.transform.internal.util.commenttable,
- org.stianloader.micromixin.transform.internal.util.locals,
- org.stianloader.micromixin.transform.internal.util.smap

## Class Hierarchy

- java.lang.Object
  - org.stianloader.micromixin.transform.internal.util.smap.AbstractSMAPSection
    - org.stianloader.micromixin.transform.internal.util.smap.EndSection
    - org.stianloader.micromixin.transform.internal.util.smap.FileSection
    - org.stianloader.micromixin.transform.internal.util.smap.FutureSection
    - org.stianloader.micromixin.transform.internal.util.smap.LineSection
    - org.stianloader.micromixin.transform.internal.util.smap.StratumSection
    - org.stianloader.micromixin.transform.internal.util.smap.VendorSection
  - org.stianloader.micromixin.transform.internal.util.locals.ArgumentCaptureContext
  - org.stianloader.micromixin.transform.api.supertypes.ASMClassWrapperProvider (implements org.stianloader.micromixin.transform.api.supertypes.ClassWrapperProvider)
  - org.stianloader.micromixin.transform.internal.util.ASMUtil
  - org.stianloader.micromixin.transform.internal.util.Atomics
  - org.stianloader.micromixin.transform.api.supertypes.ClassWrapper
  - org.stianloader.micromixin.transform.api.supertypes.ClassWrapperPool
  - org.stianloader.micromixin.transform.internal.util.CodeCopyUtil
  - org.stianloader.micromixin.transform.internal.util.commenttable.CommentTable
  - org.stianloader.micromixin.transform.internal.annotation.ConstantSelector
    - org.stianloader.micromixin.transform.internal.selectors.constant.ClassConstantSelector
    - org.stianloader.micromixin.transform.internal.selectors.constant.DoubleConstantSelector
    - org.stianloader.micromixin.transform.internal.selectors.constant.FloatConstantSelector
    - org.stianloader.micromixin.transform.internal.selectors.constant.IntConstantSelector
    - org.stianloader.micromixin.transform.internal.selectors.constant.LongConstantSelector
    - org.stianloader.micromixin.transform.internal.selectors.constant.NullConstantSelector
    - org.stianloader.micromixin.transform.internal.selectors.constant.StringConstantSelector
    - org.stianloader.micromixin.transform.internal.selectors.constant.WildcardConstantSelector
  - org.stianloader.micromixin.transform.internal.DefaultMixinLogger (implements org.stianloader.micromixin.transform.api.MixinLoggingFacade)
  - org.stianloader.micromixin.transform.internal.selectors.DescSelector (implements org.stianloader.micromixin.transform.api.InjectionPointConstraint, org.stianloader.micromixin.transform.internal.selectors.MixinTargetSelector)
  - org.stianloader.micromixin.transform.internal.util.DescString
  - org.stianloader.micromixin.transform.internal.util.smap.FileSection.FileSectionEntry
  - org.stianloader.micromixin.transform.internal.HandlerContextHelper
  - org.stianloader.micromixin.transform.internal.util.InjectionPointReference
  - org.stianloader.micromixin.transform.api.InjectionPointSelector
    - org.stianloader.micromixin.transform.internal.selectors.inject.ConstantInjectionPointSelector
    - org.stianloader.micromixin.transform.internal.selectors.inject.FieldInjectionPointSelector
    - org.stianloader.micromixin.transform.internal.selectors.inject.HeadInjectionPointSelector (implements org.stianloader.micromixin.transform.api.InjectionPointSelectorFactory.InjectionPointSelectorProvider)
    - org.stianloader.micromixin.transform.internal.selectors.inject.InvokeInjectionPointSelector
    - org.stianloader.micromixin.transform.internal.selectors.inject.LoadInjectionPointSelector (implements org.stianloader.micromixin.transform.api.InjectionPointSelectorFactory.InjectionPointSelectorProvider)
    - org.stianloader.micromixin.transform.internal.selectors.inject.NewInjectionPointSelector
    - org.stianloader.micromixin.transform.internal.selectors.inject.ReturnInjectionPointSelector (implements org.stianloader.micromixin.transform.api.InjectionPointSelectorFactory.InjectionPointSelectorProvider)
    - org.stianloader.micromixin.transform.internal.selectors.inject.StoreInjectionPointSelector (implements org.stianloader.micromixin.transform.api.InjectionPointSelectorFactory.InjectionPointSelectorProvider)
    - org.stianloader.micromixin.transform.internal.selectors.inject.TailInjectionPointSelector (implements org.stianloader.micromixin.transform.api.InjectionPointSelectorFactory.InjectionPointSelectorProvider)
  - org.stianloader.micromixin.transform.api.InjectionPointSelectorFactory
  - org.stianloader.micromixin.transform.internal.util.commenttable.KeyValueTableSection (implements org.stianloader.micromixin.transform.internal.util.commenttable.CommentTableSection)
  - org.stianloader.micromixin.transform.internal.util.LabelNodeMapper.LazyDuplicateLabelNodeMapper (implements org.stianloader.micromixin.transform.internal.util.LabelNodeMapper)
  - org.stianloader.micromixin.transform.internal.util.smap.LineSection.LineInfo
  - org.stianloader.micromixin.transform.internal.util.locals.LocalCaptureResult
  - org.stianloader.micromixin.transform.internal.util.locals.LocalsCapture
  - org.stianloader.micromixin.transform.internal.MemberDesc
  - org.stianloader.micromixin.transform.internal.util.MemberRenameMap
  - org.stianloader.micromixin.transform.internal.annotation.MixinAnnotation<T> (implements java.lang.Comparable<T>)
    - org.stianloader.micromixin.transform.internal.annotation.AbstractOverlayAnnotation<T>
      - org.stianloader.micromixin.transform.internal.annotation.MixinOverwriteAnnotation
      - org.stianloader.micromixin.transform.internal.annotation.MixinUniqueAnnotation<T>
      - org.stianloader.micromixin.transform.internal.annotation.VirtualFieldOverlayAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.micromixin.MicromixinCanonicalOverwriteAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.mixinsextras.MixinExtrasModifyReturnValueAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.MixinInjectAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.MixinModifyArgAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.MixinModifyConstantAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.MixinModifyVariableAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.MixinRedirectAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.MixinShadowAnnotation<T>
    - org.stianloader.micromixin.transform.internal.annotation.VirtualClInitMergeAnnotation
    - org.stianloader.micromixin.transform.internal.annotation.VirtualConstructorMergeAnnotation
  - org.stianloader.micromixin.transform.internal.annotation.MixinAtAnnotation
  - org.stianloader.micromixin.transform.api.MixinConfig
  - org.stianloader.micromixin.transform.internal.annotation.MixinDescAnnotation
  - org.stianloader.micromixin.transform.internal.MixinFieldStub (implements org.stianloader.micromixin.transform.internal.ClassMemberStub)
  - org.stianloader.micromixin.transform.internal.MixinHeader
  - org.stianloader.micromixin.transform.internal.MixinMethodStub (implements org.stianloader.micromixin.transform.internal.ClassMemberStub)
  - org.stianloader.micromixin.transform.internal.annotation.MixinSliceAnnotation
  - org.stianloader.micromixin.transform.internal.MixinStub (implements java.lang.Comparable<T>)
  - org.stianloader.micromixin.transform.api.MixinTransformer<M>
  - org.stianloader.micromixin.transform.api.ModularityAttached<T,​V>
  - org.stianloader.micromixin.transform.internal.util.smap.MultiplexLineNumberAllocator
    - org.stianloader.micromixin.transform.internal.util.smap.NOPMultiplexLineNumberAllocator
  - org.stianloader.micromixin.transform.internal.util.Objects
  - org.stianloader.micromixin.transform.internal.util.PrintUtils
  - org.stianloader.micromixin.transform.api.supertypes.ReflectionClassWrapperProvider (implements org.stianloader.micromixin.transform.api.supertypes.ClassWrapperProvider)
  - org.stianloader.micromixin.transform.api.SimpleRemapper
  - org.stianloader.micromixin.transform.api.SlicedInjectionPointSelector
  - org.stianloader.micromixin.transform.internal.util.smap.SMAPRoot
  - org.stianloader.micromixin.transform.internal.selectors.StringSelector (implements org.stianloader.micromixin.transform.api.InjectionPointConstraint, org.stianloader.micromixin.transform.internal.selectors.MixinTargetSelector)
  - org.stianloader.micromixin.transform.internal.util.commenttable.StringTableSection (implements org.stianloader.micromixin.transform.internal.util.commenttable.CommentTableSection)
  - org.stianloader.micromixin.transform.internal.util.commenttable.TabularTableSection (implements org.stianloader.micromixin.transform.internal.util.commenttable.CommentTableSection)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.stianloader.micromixin.transform.api.MixinConfig.InvalidMixinConfigException
      - java.lang.RuntimeException
        - org.stianloader.micromixin.transform.internal.MixinParseException

## Interface Hierarchy

- org.stianloader.micromixin.transform.api.BytecodeProvider<M>
- org.stianloader.micromixin.transform.internal.ClassMemberStub
- org.stianloader.micromixin.transform.api.supertypes.ClassWrapperProvider
- org.stianloader.micromixin.transform.api.CodeSourceURIProvider<M>
- org.stianloader.micromixin.transform.internal.util.commenttable.CommentTableSection
- org.stianloader.micromixin.transform.api.InjectionPointConstraint
- org.stianloader.micromixin.transform.api.InjectionPointSelectorFactory.InjectionPointSelectorProvider
- org.stianloader.micromixin.transform.internal.util.LabelNodeMapper
- org.stianloader.micromixin.transform.api.MixinLoggingFacade
- org.stianloader.micromixin.transform.internal.selectors.MixinTargetSelector

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.stianloader.micromixin.transform.internal.util.locals.ArgumentCaptureContext.ArgumentType
    - org.stianloader.micromixin.transform.api.MixinVendor