Files
runelite/runescape-client/src/main/java/IterableDualNodeQueueIterator.java
ThatGamerBlue 38634fcad3 Merge remote-tracking branch 'upstream/master' into master
Nice insider info btw, be nice if you shared it, so-called "open source" client.
2021-05-28 21:39:25 +01:00

65 lines
1.4 KiB
Java

import java.util.Iterator;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("kg")
@Implements("IterableDualNodeQueueIterator")
public class IterableDualNodeQueueIterator implements Iterator {
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "Lko;"
)
@Export("queue")
IterableDualNodeQueue queue;
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "Lmf;"
)
@Export("head")
DualNode head;
@ObfuscatedName("f")
@ObfuscatedSignature(
descriptor = "Lmf;"
)
@Export("last")
DualNode last;
@ObfuscatedSignature(
descriptor = "(Lko;)V"
)
IterableDualNodeQueueIterator(IterableDualNodeQueue var1) {
this.last = null; // L: 9
this.queue = var1; // L: 12
this.head = this.queue.sentinel.previousDual; // L: 13
this.last = null; // L: 14
} // L: 15
public void remove() {
if (this.last == null) { // L: 33
throw new IllegalStateException();
} else {
this.last.removeDual(); // L: 34
this.last = null; // L: 35
}
} // L: 36
public boolean hasNext() {
return this.queue.sentinel != this.head; // L: 29
}
public Object next() {
DualNode var1 = this.head; // L: 18
if (var1 == this.queue.sentinel) { // L: 19
var1 = null; // L: 20
this.head = null; // L: 21
} else {
this.head = var1.previousDual; // L: 23
}
this.last = var1; // L: 24
return var1; // L: 25
}
}