Files
runelite/runescape-client/src/main/java/LinkDeque.java
Owain van Brakel add4ca8005 chore: rev 188
2020-01-29 14:20:08 +01:00

76 lines
1.4 KiB
Java

import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("jr")
@Implements("LinkDeque")
public class LinkDeque {
@ObfuscatedName("c")
@ObfuscatedSignature(
signature = "Lfq;"
)
@Export("sentinel")
Link sentinel;
@ObfuscatedName("t")
@ObfuscatedSignature(
signature = "Lfq;"
)
@Export("current")
Link current;
public LinkDeque() {
this.sentinel = new Link();
this.sentinel.previous = this.sentinel;
this.sentinel.next = this.sentinel;
}
@ObfuscatedName("c")
@ObfuscatedSignature(
signature = "(Lfq;)V"
)
@Export("addFirst")
public void addFirst(Link var1) {
if (var1.next != null) {
var1.remove();
}
var1.next = this.sentinel.next;
var1.previous = this.sentinel;
var1.next.previous = var1;
var1.previous.next = var1;
}
@ObfuscatedName("t")
@ObfuscatedSignature(
signature = "()Lfq;"
)
@Export("last")
public Link last() {
Link var1 = this.sentinel.previous;
if (var1 == this.sentinel) {
this.current = null;
return null;
} else {
this.current = var1.previous;
return var1;
}
}
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "()Lfq;"
)
@Export("previous")
public Link previous() {
Link var1 = this.current;
if (var1 == this.sentinel) {
this.current = null;
return null;
} else {
this.current = var1.previous;
return var1;
}
}
}