summaryrefslogtreecommitdiff
path: root/examples/scala-js/javalanglib/src/main/scala/java/lang/Thread.scala
blob: e52d7f68bb53270fb08096a91b3bdedc717be72d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package java.lang

/* We need a constructor to create SingleThread in the companion object, but
 * we don't want user code doing a 'new Thread()' to link, because that could
 * be confusing.
 * So we use a binary signature that no Java source file can ever produce.
 */
class Thread private (dummy: Unit) extends Runnable {
  def run(): Unit = ()
}

object Thread {
  private[this] val SingleThread = new Thread(())

  def currentThread(): Thread = SingleThread
}