Skip to content

Commit

Permalink
Migrate scala-stm adapter for stmbench7 to Scala 2.13+
Browse files Browse the repository at this point in the history
  • Loading branch information
lbulej committed Jun 7, 2024
1 parent f5d51a5 commit 6030937
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@

package stmbench7.scalastm

import scala.collection.JavaConversions
import scala.jdk.CollectionConverters.IteratorHasAsJava

import stmbench7.backend.ImmutableCollection

class ImmutableSeqImpl[A](contents: Seq[A]) extends ImmutableCollection[A] {
override def clone: ImmutableCollection[A] = this
override def contains(element: A): Boolean = contents.contains(element)
override def size: Int = contents.size

override def iterator: java.util.Iterator[A] =
JavaConversions.asJavaIterator(contents.iterator)
override def iterator: java.util.Iterator[A] = contents.iterator.asJava
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

package stmbench7.scalastm

import scala.collection.JavaConversions
import scala.jdk.CollectionConverters.IteratorHasAsJava

import scala.concurrent.stm.TSet

Expand All @@ -17,7 +17,5 @@ class ImmutableSetImpl[A](contents: TSet.View[A], shared: Boolean = true)

override def contains(element: A): Boolean = contents.contains(element)
override def size: Int = contents.size

override def iterator: java.util.Iterator[A] =
JavaConversions.asJavaIterator(contents.iterator)
override def iterator: java.util.Iterator[A] = contents.iterator.asJava
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

package stmbench7.scalastm

import scala.collection.JavaConversions
import scala.collection.immutable.TreeMap
import scala.jdk.CollectionConverters.SetHasAsJava
import scala.jdk.CollectionConverters.IteratorHasAsJava

import scala.concurrent.stm.Ref

Expand Down Expand Up @@ -34,8 +35,7 @@ object IndexImpl {

override def iterator: java.util.Iterator[V] = makeValuesIterator(underlying())

override def getKeys: java.lang.Iterable[K] =
JavaConversions.setAsJavaSet(underlying().keySet)
override def getKeys: java.lang.Iterable[K] = underlying().keySet.asJava

override def getRange(minKey: K, maxKey: K): java.lang.Iterable[V] =
new java.lang.Iterable[V] {
Expand All @@ -44,7 +44,7 @@ object IndexImpl {
}

private def makeValuesIterator(m: TreeMap[K, V]) = {
JavaConversions.asJavaIterator(m.values.iterator)
m.values.iterator.asJava
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

package stmbench7.scalastm

import scala.collection.JavaConversions
import scala.jdk.CollectionConverters.IteratorHasAsJava

import scala.concurrent.stm.TMap

Expand All @@ -15,7 +15,5 @@ class LargeSetImpl[A <: Comparable[A]] extends LargeSet[A] {
override def remove(e: A): Boolean = underlying.remove(e).isDefined
override def contains(e: A): Boolean = underlying.contains(e)
override def size: Int = underlying.size

override def iterator: java.util.Iterator[A] =
JavaConversions.asJavaIterator(underlying.keysIterator)
override def iterator: java.util.Iterator[A] = underlying.keysIterator.asJava
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

package stmbench7.scalastm

import scala.annotation.unused

import scala.concurrent.stm.atomic
import scala.concurrent.stm.Ref

Expand All @@ -23,6 +25,7 @@ import stmbench7.core.Module
import stmbench7.core.Operation
import stmbench7.impl.core.ConnectionImpl

@unused("Referenced via string name")
class ScalaSTMInitializer extends SynchMethodInitializer {

def createOperationExecutorFactory(): OperationExecutorFactory =
Expand Down

0 comments on commit 6030937

Please sign in to comment.