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

## Class InsnListReadOnly

- java.lang.Object
- - org.objectweb.asm.tree.InsnList
  - - org.spongepowered.asm.mixin.injection.code.InsnListReadOnly

All Implemented Interfaces:
  `java.lang.Iterable<org.objectweb.asm.tree.AbstractInsnNode>`

Direct Known Subclasses:
  `InsnListEx`

    public abstract class InsnListReadOnly
    extends org.objectweb.asm.tree.InsnList

Read-only wrapper for InsnList, defensively passed to InjectionPoint instances so that custom InjectionPoint implementations cannot modify the insn list whilst inspecting it.

### Constructor Summary

Constructors
`InsnListReadOnly​(org.objectweb.asm.tree.InsnList insns)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add​(org.objectweb.asm.tree.AbstractInsnNode insn)`
`void` `add​(org.objectweb.asm.tree.InsnList insns)`
`boolean` `contains​(org.objectweb.asm.tree.AbstractInsnNode insn)`
`org.objectweb.asm.tree.AbstractInsnNode` `get​(int index)`
`org.objectweb.asm.tree.AbstractInsnNode` `getFirst()`
`org.objectweb.asm.tree.AbstractInsnNode` `getLast()`
`int` `indexOf​(org.objectweb.asm.tree.AbstractInsnNode insn)`
`void` `insert​(org.objectweb.asm.tree.AbstractInsnNode insn)`
`void` `insert​(org.objectweb.asm.tree.AbstractInsnNode location, org.objectweb.asm.tree.AbstractInsnNode insn)`
`void` `insert​(org.objectweb.asm.tree.AbstractInsnNode location, org.objectweb.asm.tree.InsnList insns)`
`void` `insert​(org.objectweb.asm.tree.InsnList insns)`
`void` `insertBefore​(org.objectweb.asm.tree.AbstractInsnNode location, org.objectweb.asm.tree.AbstractInsnNode insn)`
`void` `insertBefore​(org.objectweb.asm.tree.AbstractInsnNode location, org.objectweb.asm.tree.InsnList insns)`
`java.util.ListIterator<org.objectweb.asm.tree.AbstractInsnNode>` `iterator()`
`java.util.ListIterator<org.objectweb.asm.tree.AbstractInsnNode>` `iterator​(int index)`
`void` `remove​(org.objectweb.asm.tree.AbstractInsnNode insn)`
`void` `resetLabels()`
`void` `set​(org.objectweb.asm.tree.AbstractInsnNode location, org.objectweb.asm.tree.AbstractInsnNode insn)`
`int` `size()`
`org.objectweb.asm.tree.AbstractInsnNode[]` `toArray()`

### Methods inherited from class org.objectweb.asm.tree.InsnList

`accept, clear`

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

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

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Constructor Detail

#### InsnListReadOnly

    public InsnListReadOnly​(org.objectweb.asm.tree.InsnList insns)

### Method Detail

#### set

    public final void set​(org.objectweb.asm.tree.AbstractInsnNode location,
                          org.objectweb.asm.tree.AbstractInsnNode insn)

Overrides:
  `set` in class `org.objectweb.asm.tree.InsnList`

#### add

    public final void add​(org.objectweb.asm.tree.AbstractInsnNode insn)

Overrides:
  `add` in class `org.objectweb.asm.tree.InsnList`

#### add

    public final void add​(org.objectweb.asm.tree.InsnList insns)

Overrides:
  `add` in class `org.objectweb.asm.tree.InsnList`

#### insert

    public final void insert​(org.objectweb.asm.tree.AbstractInsnNode insn)

Overrides:
  `insert` in class `org.objectweb.asm.tree.InsnList`

#### insert

    public final void insert​(org.objectweb.asm.tree.InsnList insns)

Overrides:
  `insert` in class `org.objectweb.asm.tree.InsnList`

#### insert

    public final void insert​(org.objectweb.asm.tree.AbstractInsnNode location,
                             org.objectweb.asm.tree.AbstractInsnNode insn)

Overrides:
  `insert` in class `org.objectweb.asm.tree.InsnList`

#### insert

    public final void insert​(org.objectweb.asm.tree.AbstractInsnNode location,
                             org.objectweb.asm.tree.InsnList insns)

Overrides:
  `insert` in class `org.objectweb.asm.tree.InsnList`

#### insertBefore

    public final void insertBefore​(org.objectweb.asm.tree.AbstractInsnNode location,
                                   org.objectweb.asm.tree.AbstractInsnNode insn)

Overrides:
  `insertBefore` in class `org.objectweb.asm.tree.InsnList`

#### insertBefore

    public final void insertBefore​(org.objectweb.asm.tree.AbstractInsnNode location,
                                   org.objectweb.asm.tree.InsnList insns)

Overrides:
  `insertBefore` in class `org.objectweb.asm.tree.InsnList`

#### remove

    public final void remove​(org.objectweb.asm.tree.AbstractInsnNode insn)

Overrides:
  `remove` in class `org.objectweb.asm.tree.InsnList`

#### toArray

    public org.objectweb.asm.tree.AbstractInsnNode[] toArray()

Overrides:
  `toArray` in class `org.objectweb.asm.tree.InsnList`

#### size

    public int size()

Overrides:
  `size` in class `org.objectweb.asm.tree.InsnList`

#### getFirst

    public org.objectweb.asm.tree.AbstractInsnNode getFirst()

Overrides:
  `getFirst` in class `org.objectweb.asm.tree.InsnList`

#### getLast

    public org.objectweb.asm.tree.AbstractInsnNode getLast()

Overrides:
  `getLast` in class `org.objectweb.asm.tree.InsnList`

#### get

    public org.objectweb.asm.tree.AbstractInsnNode get​(int index)

Overrides:
  `get` in class `org.objectweb.asm.tree.InsnList`

#### contains

    public boolean contains​(org.objectweb.asm.tree.AbstractInsnNode insn)

Overrides:
  `contains` in class `org.objectweb.asm.tree.InsnList`

#### indexOf

    public int indexOf​(org.objectweb.asm.tree.AbstractInsnNode insn)

Overrides:
  `indexOf` in class `org.objectweb.asm.tree.InsnList`

#### iterator

    public java.util.ListIterator<org.objectweb.asm.tree.AbstractInsnNode> iterator()

Specified by:
  `iterator` in interface `java.lang.Iterable<org.objectweb.asm.tree.AbstractInsnNode>`
Overrides:
  `iterator` in class `org.objectweb.asm.tree.InsnList`

#### iterator

    public java.util.ListIterator<org.objectweb.asm.tree.AbstractInsnNode> iterator​(int index)

Overrides:
  `iterator` in class `org.objectweb.asm.tree.InsnList`

#### resetLabels

    public final void resetLabels()

Overrides:
  `resetLabels` in class `org.objectweb.asm.tree.InsnList`