Package org.stianloader.micromixin.transform.internal.annotation

## Class MixinUniqueAnnotation<T extends ClassMemberStub>

- java.lang.Object
- - org.stianloader.micromixin.transform.internal.annotation.MixinAnnotation<T>
  - - org.stianloader.micromixin.transform.internal.annotation.AbstractOverlayAnnotation<T>
    - - org.stianloader.micromixin.transform.internal.annotation.MixinUniqueAnnotation<T>

- All Implemented Interfaces:
    `java.lang.Comparable<MixinAnnotation<T>>`

      public class MixinUniqueAnnotation<T extends ClassMemberStub>
      extends AbstractOverlayAnnotation<T>

- - ### Field Summary

    - ### Fields inherited from class org.stianloader.micromixin.transform.internal.annotation.AbstractOverlayAnnotation

      `logger`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `collectMappings​(T source, HandlerContextHelper hctx, org.objectweb.asm.tree.ClassNode target, SimpleRemapper remapper, java.lang.StringBuilder sharedBuilder)` |
    `java.lang.String` | `getDesiredName​(T source, org.objectweb.asm.tree.ClassNode target, SimpleRemapper remapper, java.lang.StringBuilder sharedBuilder)` |
    `boolean` | `handleCollision​(T source, org.objectweb.asm.tree.ClassNode target, int access)` | Method that is called if the source collides with an already existing member.
    `static <T0 extends ClassMemberStub> MixinUniqueAnnotation<T0>` | `parse​(org.objectweb.asm.tree.AnnotationNode annotation, MixinLoggingFacade logger)` |

    - ### Methods inherited from class org.stianloader.micromixin.transform.internal.annotation.AbstractOverlayAnnotation

      `apply`

    - ### Methods inherited from class org.stianloader.micromixin.transform.internal.annotation.MixinAnnotation

      `compareTo, isCompatible, validateMixin`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### parse

          @NotNull
          public static <T0 extends ClassMemberStub> MixinUniqueAnnotation<T0> parse​(@NotNull
                                                                                     org.objectweb.asm.tree.AnnotationNode annotation,
                                                                                     @NotNull
                                                                                     MixinLoggingFacade logger)

    - #### collectMappings

          public void collectMappings​(@NotNull
                                      T source,
                                      @NotNull
                                      HandlerContextHelper hctx,
                                      @NotNull
                                      org.objectweb.asm.tree.ClassNode target,
                                      @NotNull
                                      SimpleRemapper remapper,
                                      @NotNull
                                      java.lang.StringBuilder sharedBuilder)

      Overrides:
        `collectMappings` in class `AbstractOverlayAnnotation<T extends ClassMemberStub>`

    - #### handleCollision

          public boolean handleCollision​(@NotNull
                                         T source,
                                         @NotNull
                                         org.objectweb.asm.tree.ClassNode target,
                                         int access)

      Description copied from class: `AbstractOverlayAnnotation`
      Method that is called if the source collides with an already existing member.
      Specified by:
        `handleCollision` in class `AbstractOverlayAnnotation<T extends ClassMemberStub>`
      Parameters:
        `source` - The source handler
        `target` - The target class
        `access` - The access modifiers of the member that already exists.
      Returns:
        True to overwrite the member, false to abort overlaying.

    - #### getDesiredName

          @NotNull
          public java.lang.String getDesiredName​(@NotNull
                                                 T source,
                                                 @NotNull
                                                 org.objectweb.asm.tree.ClassNode target,
                                                 @NotNull
                                                 SimpleRemapper remapper,
                                                 @NotNull
                                                 java.lang.StringBuilder sharedBuilder)

      Specified by:
        `getDesiredName` in class `AbstractOverlayAnnotation<T extends ClassMemberStub>`