Skip to content
Permalink
develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
package com.twitter.util
object Local {
/**
* A key value structure with better run-time performance characteristics
* when the number of elements is less than 16.
* key - Local.Key, value - Option[_]
*/
sealed abstract class Context private (
final private[util] val resourceTracker: Option[ResourceTracker],
final private[util] val fiber: Fiber) {
private[util] def setResourceTracker(tracker: ResourceTracker): Context
private[util] def removeResourceTracker(): Context
private[util] def setFiber(f: Fiber): Context
private[util] def get(k: Key): Option[_]
private[util] def remove(k: Key): Context
private[util] def set(k: Key, v: Some[_]): Context
}
object Context {
/**
* The empty Context
*/
val empty: Context = EmptyContext
private object EmptyContext extends Context(None, Fiber.Global) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context0(Some(tracker), fiber)
def removeResourceTracker(): Context = new Context0(None, fiber)
def setFiber(f: Fiber): Context = new Context0(resourceTracker, f)
def get(k: Key): Option[_] = None
def remove(k: Key): Context = this
def set(k: Key, v: Some[_]): Context = new Context1(resourceTracker, fiber, k, v)
}
private final class Context0(resourceTracker: Option[ResourceTracker], fiber: Fiber)
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context0(Some(tracker), fiber)
def removeResourceTracker(): Context = new Context0(None, fiber)
def setFiber(f: Fiber): Context = new Context0(resourceTracker, f)
def get(k: Key): Option[_] = None
def remove(k: Key): Context = this
def set(k: Key, v: Some[_]): Context = new Context1(resourceTracker, fiber, k, v)
}
private final class Context1(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context =
new Context1(Some(tracker), fiber, k1, v1)
def removeResourceTracker(): Context = new Context1(None, fiber, k1, v1)
def setFiber(f: Fiber): Context = new Context1(resourceTracker, f, k1, v1)
def get(k: Key): Option[_] =
if (k eq k1) v1 else None
def remove(k: Key): Context =
if (k eq k1) EmptyContext else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1) new Context1(resourceTracker, fiber, k1, v)
else new Context2(resourceTracker, fiber, k1, v1, k, v)
}
private final class Context2(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context =
new Context2(Some(tracker), fiber, k1, v1, k2, v2)
def removeResourceTracker(): Context = new Context2(None, fiber, k1, v1, k2, v2)
def setFiber(f: Fiber): Context =
new Context2(resourceTracker, f, k1, v1, k2, v2)
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else None
def remove(k: Key): Context =
if (k eq k1) new Context1(resourceTracker, fiber, k2, v2)
else if (k eq k2) new Context1(resourceTracker, fiber, k1, v1)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1) new Context2(resourceTracker, fiber, k1, v, k2, v2)
else if (k eq k2) new Context2(resourceTracker, fiber, k1, v1, k2, v)
else new Context3(resourceTracker, fiber, k1, v1, k2, v2, k, v)
}
// Script for generating the ContextN
/*
object ContextGen {
def mkContext(num: Int): String = {
s"""private final class Context$num(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
${fieldList(num)}
) extends Context(resourceTracker, fiber) {
${mkSetResourceTracker(num)}
${mkRemoveResourceTracker(num)}
${mkSetFiber(num)}
${mkRemoveFiber(num)}
${mkGet(num)}
${mkRemove(num)}
${mkSet(num)}
}
"""
}
def fieldList(num: Int) : String = {
(1.to(num)).map{ i =>
s"\tk$i: Key, v$i: Some[_]"
}.mkString(", \n")
}
def mkSetResourceTracker(num: Int): String = {
s"def setResourceTracker(tracker: ResourceTracker): Context = new Context$num(Some(tracker), fiber, ${fieldList(num)})"
}
def mkRemoveResourceTracker(num: Int): String = {
s"def removeResourceTracker(): Context = new Context$num(None, fiber, ${fieldList(num)})"
}
def mkSetFiber(num: Int): String = {
s"def setFiber(f: Fiber): Context = new Context$num(resourceTracker, f, ${fieldList(num)})"
}
def mkGet(num: Int): String = {
val name = s"def get(k: Key): Option[_] = "
val content = (1.to(num)).map { i =>
s"k$i) v$i"
}.mkString("\n\t\tif (k eq ", "\n\t\telse if (k eq ", "\n\t\telse None")
name + content
}
def mkRemove(num: Int): String = {
val name = s"def remove(k: Key): Context = "
def newCtx(sum: Int, current: Int): String = {
(1.to(current - 1) ++: (current + 1).to(sum)).map { i =>
s"k$i, v$i"
}.mkString("(resourceTracker, fiber, ", ", ", ")")
}
val content = (1.to(num)).map { i =>
s"k$i) new Context${num - 1}${newCtx(num, i)}"
}.mkString("\n\t\tif (k eq ", "\n\t\telse if (k eq ", "\n\t\telse this")
name + content
}
def mkSet(num: Int): String = {
val name = s"def set(k: Key, v: Some[_]): Context = "
def newCtx(sum: Int, current: Int, last: Boolean): String = {
(1.to(sum)).map { i =>
if (i == current && last) s"k, v"
else if (i == current) s"k$i, v"
else s"k$i, v$i"
}.mkString("(resourceTracker, fiber, ", ", ", ")")
}
val content = (1.to(num)).map { i =>
s"k$i) new Context$num${newCtx(num, i, false)}"
}.mkString("\n\t\tif (k eq ", "\n\t\telse if (k eq ", s"\n\t\telse new Context${num + 1}${newCtx(num + 1, num + 1, true)}")
name + content
}
def main(args: Array[String]) {
print(3.to(15).map{ i => mkContext(i)}.mkString)
}
}
*/
private final class Context3(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context3(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_])
def removeResourceTracker(): Context =
new Context3(None, fiber, k1: Key, v1: Some[_], k2: Key, v2: Some[_], k3: Key, v3: Some[_])
def setFiber(f: Fiber): Context = new Context3(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else None
def remove(k: Key): Context =
if (k eq k1) new Context2(resourceTracker, fiber, k2, v2, k3, v3)
else if (k eq k2) new Context2(resourceTracker, fiber, k1, v1, k3, v3)
else if (k eq k3) new Context2(resourceTracker, fiber, k1, v1, k2, v2)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1) new Context3(resourceTracker, fiber, k1, v, k2, v2, k3, v3)
else if (k eq k2) new Context3(resourceTracker, fiber, k1, v1, k2, v, k3, v3)
else if (k eq k3) new Context3(resourceTracker, fiber, k1, v1, k2, v2, k3, v)
else new Context4(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k, v)
}
private final class Context4(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context4(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_])
def removeResourceTracker(): Context = new Context4(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_])
def setFiber(f: Fiber): Context = new Context4(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else None
def remove(k: Key): Context =
if (k eq k1) new Context3(resourceTracker, fiber, k2, v2, k3, v3, k4, v4)
else if (k eq k2) new Context3(resourceTracker, fiber, k1, v1, k3, v3, k4, v4)
else if (k eq k3) new Context3(resourceTracker, fiber, k1, v1, k2, v2, k4, v4)
else if (k eq k4) new Context3(resourceTracker, fiber, k1, v1, k2, v2, k3, v3)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1) new Context4(resourceTracker, fiber, k1, v, k2, v2, k3, v3, k4, v4)
else if (k eq k2) new Context4(resourceTracker, fiber, k1, v1, k2, v, k3, v3, k4, v4)
else if (k eq k3) new Context4(resourceTracker, fiber, k1, v1, k2, v2, k3, v, k4, v4)
else if (k eq k4) new Context4(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v)
else new Context5(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k, v)
}
private final class Context5(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context5(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_])
def removeResourceTracker(): Context = new Context5(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_])
def setFiber(f: Fiber): Context = new Context5(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else if (k eq k5) v5
else None
def remove(k: Key): Context =
if (k eq k1) new Context4(resourceTracker, fiber, k2, v2, k3, v3, k4, v4, k5, v5)
else if (k eq k2) new Context4(resourceTracker, fiber, k1, v1, k3, v3, k4, v4, k5, v5)
else if (k eq k3) new Context4(resourceTracker, fiber, k1, v1, k2, v2, k4, v4, k5, v5)
else if (k eq k4) new Context4(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k5, v5)
else if (k eq k5) new Context4(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1) new Context5(resourceTracker, fiber, k1, v, k2, v2, k3, v3, k4, v4, k5, v5)
else if (k eq k2)
new Context5(resourceTracker, fiber, k1, v1, k2, v, k3, v3, k4, v4, k5, v5)
else if (k eq k3)
new Context5(resourceTracker, fiber, k1, v1, k2, v2, k3, v, k4, v4, k5, v5)
else if (k eq k4)
new Context5(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v, k5, v5)
else if (k eq k5)
new Context5(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k5, v)
else new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k5, v5, k, v)
}
private final class Context6(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context6(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_])
def removeResourceTracker(): Context = new Context6(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_])
def setFiber(f: Fiber): Context = new Context6(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else if (k eq k5) v5
else if (k eq k6) v6
else None
def remove(k: Key): Context =
if (k eq k1) new Context5(resourceTracker, fiber, k2, v2, k3, v3, k4, v4, k5, v5, k6, v6)
else if (k eq k2)
new Context5(resourceTracker, fiber, k1, v1, k3, v3, k4, v4, k5, v5, k6, v6)
else if (k eq k3)
new Context5(resourceTracker, fiber, k1, v1, k2, v2, k4, v4, k5, v5, k6, v6)
else if (k eq k4)
new Context5(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k5, v5, k6, v6)
else if (k eq k5)
new Context5(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k6, v6)
else if (k eq k6)
new Context5(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k5, v5)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1)
new Context6(resourceTracker, fiber, k1, v, k2, v2, k3, v3, k4, v4, k5, v5, k6, v6)
else if (k eq k2)
new Context6(resourceTracker, fiber, k1, v1, k2, v, k3, v3, k4, v4, k5, v5, k6, v6)
else if (k eq k3)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v, k4, v4, k5, v5, k6, v6)
else if (k eq k4)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v, k5, v5, k6, v6)
else if (k eq k5)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k5, v, k6, v6)
else if (k eq k6)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k5, v5, k6, v)
else
new Context7(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k5, v5, k6, v6, k, v)
}
private final class Context7(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context7(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_])
def removeResourceTracker(): Context = new Context7(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_])
def setFiber(f: Fiber): Context = new Context7(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else if (k eq k5) v5
else if (k eq k6) v6
else if (k eq k7) v7
else None
def remove(k: Key): Context =
if (k eq k1)
new Context6(resourceTracker, fiber, k2, v2, k3, v3, k4, v4, k5, v5, k6, v6, k7, v7)
else if (k eq k2)
new Context6(resourceTracker, fiber, k1, v1, k3, v3, k4, v4, k5, v5, k6, v6, k7, v7)
else if (k eq k3)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k4, v4, k5, v5, k6, v6, k7, v7)
else if (k eq k4)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k5, v5, k6, v6, k7, v7)
else if (k eq k5)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k6, v6, k7, v7)
else if (k eq k6)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k5, v5, k7, v7)
else if (k eq k7)
new Context6(resourceTracker, fiber, k1, v1, k2, v2, k3, v3, k4, v4, k5, v5, k6, v6)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1)
new Context7(
resourceTracker,
fiber,
k1,
v,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7)
else if (k eq k2)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7)
else if (k eq k3)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7)
else if (k eq k4)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v,
k5,
v5,
k6,
v6,
k7,
v7)
else if (k eq k5)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v,
k6,
v6,
k7,
v7)
else if (k eq k6)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v,
k7,
v7)
else if (k eq k7)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v)
else
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k,
v)
}
private final class Context8(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context8(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_])
def removeResourceTracker(): Context = new Context8(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_])
def setFiber(f: Fiber): Context = new Context8(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else if (k eq k5) v5
else if (k eq k6) v6
else if (k eq k7) v7
else if (k eq k8) v8
else None
def remove(k: Key): Context =
if (k eq k1)
new Context7(
resourceTracker,
fiber,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k2)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k3)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k4)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k5)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k6)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k7,
v7,
k8,
v8)
else if (k eq k7)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k8,
v8)
else if (k eq k8)
new Context7(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1)
new Context8(
resourceTracker,
fiber,
k1,
v,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k2)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k3)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k4)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k5)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v,
k6,
v6,
k7,
v7,
k8,
v8)
else if (k eq k6)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v,
k7,
v7,
k8,
v8)
else if (k eq k7)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v,
k8,
v8)
else if (k eq k8)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v)
else
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k,
v)
}
private final class Context9(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context9(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_])
def removeResourceTracker(): Context = new Context9(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_])
def setFiber(f: Fiber): Context = new Context9(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else if (k eq k5) v5
else if (k eq k6) v6
else if (k eq k7) v7
else if (k eq k8) v8
else if (k eq k9) v9
else None
def remove(k: Key): Context =
if (k eq k1)
new Context8(
resourceTracker,
fiber,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k2)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k3)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k4)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k5)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k6)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k7)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k8,
v8,
k9,
v9)
else if (k eq k8)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k9,
v9)
else if (k eq k9)
new Context8(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1)
new Context9(
resourceTracker,
fiber,
k1,
v,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k2)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k3)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k4)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k5)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k6)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v,
k7,
v7,
k8,
v8,
k9,
v9)
else if (k eq k7)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v,
k8,
v8,
k9,
v9)
else if (k eq k8)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v,
k9,
v9)
else if (k eq k9)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v)
else
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k,
v)
}
private final class Context10(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context10(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_])
def removeResourceTracker(): Context = new Context10(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_])
def setFiber(f: Fiber): Context = new Context10(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else if (k eq k5) v5
else if (k eq k6) v6
else if (k eq k7) v7
else if (k eq k8) v8
else if (k eq k9) v9
else if (k eq k10) v10
else None
def remove(k: Key): Context =
if (k eq k1)
new Context9(
resourceTracker,
fiber,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k2)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k3)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k4)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k5)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k6)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k7)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k8)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k9,
v9,
k10,
v10)
else if (k eq k9)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k10,
v10)
else if (k eq k10)
new Context9(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1)
new Context10(
resourceTracker,
fiber,
k1,
v,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k2)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k3)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k4)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k5)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k6)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k7)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v,
k8,
v8,
k9,
v9,
k10,
v10)
else if (k eq k8)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v,
k9,
v9,
k10,
v10)
else if (k eq k9)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v,
k10,
v10)
else if (k eq k10)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v)
else
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k,
v)
}
private final class Context11(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_],
k11: Key,
v11: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context11(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_],
k11: Key,
v11: Some[_])
def removeResourceTracker(): Context = new Context11(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_],
k11: Key,
v11: Some[_])
def setFiber(f: Fiber): Context = new Context11(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_],
k11: Key,
v11: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else if (k eq k5) v5
else if (k eq k6) v6
else if (k eq k7) v7
else if (k eq k8) v8
else if (k eq k9) v9
else if (k eq k10) v10
else if (k eq k11) v11
else None
def remove(k: Key): Context =
if (k eq k1)
new Context10(
resourceTracker,
fiber,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k2)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k3)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k4)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k5)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k6)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k7)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k8)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k9)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k10,
v10,
k11,
v11)
else if (k eq k10)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k11,
v11)
else if (k eq k11)
new Context10(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1)
new Context11(
resourceTracker,
fiber,
k1,
v,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k2)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k3)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k4)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k5)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k6)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k7)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k8)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v,
k9,
v9,
k10,
v10,
k11,
v11)
else if (k eq k9)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v,
k10,
v10,
k11,
v11)
else if (k eq k10)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v,
k11,
v11)
else if (k eq k11)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v)
else
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k,
v)
}
private final class Context12(
resourceTracker: Option[ResourceTracker],
fiber: Fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_],
k11: Key,
v11: Some[_],
k12: Key,
v12: Some[_])
extends Context(resourceTracker, fiber) {
def setResourceTracker(tracker: ResourceTracker): Context = new Context12(
Some(tracker),
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_],
k11: Key,
v11: Some[_],
k12: Key,
v12: Some[_])
def removeResourceTracker(): Context = new Context12(
None,
fiber,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_],
k11: Key,
v11: Some[_],
k12: Key,
v12: Some[_])
def setFiber(f: Fiber): Context = new Context12(
resourceTracker,
f,
k1: Key,
v1: Some[_],
k2: Key,
v2: Some[_],
k3: Key,
v3: Some[_],
k4: Key,
v4: Some[_],
k5: Key,
v5: Some[_],
k6: Key,
v6: Some[_],
k7: Key,
v7: Some[_],
k8: Key,
v8: Some[_],
k9: Key,
v9: Some[_],
k10: Key,
v10: Some[_],
k11: Key,
v11: Some[_],
k12: Key,
v12: Some[_])
def get(k: Key): Option[_] =
if (k eq k1) v1
else if (k eq k2) v2
else if (k eq k3) v3
else if (k eq k4) v4
else if (k eq k5) v5
else if (k eq k6) v6
else if (k eq k7) v7
else if (k eq k8) v8
else if (k eq k9) v9
else if (k eq k10) v10
else if (k eq k11) v11
else if (k eq k12) v12
else None
def remove(k: Key): Context =
if (k eq k1)
new Context11(
resourceTracker,
fiber,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k2)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k3)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k4)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k5)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k6)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k7)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k8)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k9)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k10)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k11,
v11,
k12,
v12)
else if (k eq k11)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k12,
v12)
else if (k eq k12)
new Context11(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11)
else this
def set(k: Key, v: Some[_]): Context =
if (k eq k1)
new Context12(
resourceTracker,
fiber,
k1,
v,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k2)
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k3)
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k4)
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k5)
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k6)
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v,
k7,
v7,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k7)
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v,
k8,
v8,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k8)
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v,
k9,
v9,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k9)
new Context12(
resourceTracker,
fiber,
k1,
v1,
k2,
v2,
k3,
v3,
k4,
v4,
k5,
v5,
k6,
v6,
k7,
v7,
k8,
v8,
k9,
v,
k10,
v10,
k11,
v11,
k12,
v12)
else if (k eq k10)