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
`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>`