Package org.spongepowered.asm.mixin.injection.code

## Interface IInsnListEx

All Known Implementing Classes:
  `InsnListEx`

    public interface IInsnListEx

Interface for extensions for InsnList which provide additional context for the InsnList. This is mainly to allow passing additional information to `InjectionPoint::`InjectionPoint.find(java.lang.String, org.objectweb.asm.tree.InsnList, java.util.Collection<org.objectweb.asm.tree.AbstractInsnNode>)`` without breaking backward compatibility.

### Nested Class Summary

Nested Classes
`static class` `IInsnListEx.SpecialNodeType` Type of special nodes supported by `getSpecialNode(org.spongepowered.asm.mixin.injection.code.IInsnListEx.SpecialNodeType)`

### Method Summary

All Methods Instance Methods Abstract Methods
`<V> V` `getDecoration​(java.lang.String key)` Get the specified decoration
`<V> V` `getDecoration​(java.lang.String key, V defaultValue)` Get the specified decoration or default value
`org.objectweb.asm.tree.AbstractInsnNode` `getSpecialNode​(IInsnListEx.SpecialNodeType type)` Get - if available - the specified special node from the target.
`int` `getTargetAccess()` Get the access flags from the target method
`java.lang.String` `getTargetDesc()` Get the descriptor of the target method
`java.lang.String` `getTargetName()` Get the name of the target method
`java.lang.String` `getTargetSignature()` Get the signature of the target method
`boolean` `hasDecoration​(java.lang.String key)` Get whether this list is decorated with the specified key
`boolean` `isTargetConstructor()` Get whether the target method is a constructor
`boolean` `isTargetStatic()` Get whether the target method is static
`boolean` `isTargetStaticInitialiser()` Get whether the target method is a static initialiser

### Method Detail

#### getTargetName

    java.lang.String getTargetName()

Get the name of the target method

#### getTargetDesc

    java.lang.String getTargetDesc()

Get the descriptor of the target method

#### getTargetSignature

    java.lang.String getTargetSignature()

Get the signature of the target method

#### getTargetAccess

    int getTargetAccess()

Get the access flags from the target method

#### isTargetStatic

    boolean isTargetStatic()

Get whether the target method is static

#### isTargetConstructor

    boolean isTargetConstructor()

Get whether the target method is a constructor

#### isTargetStaticInitialiser

    boolean isTargetStaticInitialiser()

Get whether the target method is a static initialiser

#### getSpecialNode

    org.objectweb.asm.tree.AbstractInsnNode getSpecialNode​(IInsnListEx.SpecialNodeType type)

Get - if available - the specified special node from the target. The returned node is not guaranteed to be non-null.

Parameters:
  `type` - type of special node to fetch
Returns:
  the special node or null if not available

#### hasDecoration

    boolean hasDecoration​(java.lang.String key)

Get whether this list is decorated with the specified key

Parameters:
  `key` - meta key
Returns:
  true if the specified decoration exists

#### getDecoration

    <V> V getDecoration​(java.lang.String key)

Get the specified decoration

Type Parameters:
  `V` - value type
Parameters:
  `key` - meta key
Returns:
  decoration value or null if absent

#### getDecoration

    <V> V getDecoration​(java.lang.String key,
                        V defaultValue)

Get the specified decoration or default value

Type Parameters:
  `V` - value type
Parameters:
  `key` - meta key
  `defaultValue` - default value to return
Returns:
  decoration value or default value if absent