All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ch.epfl.scala.debugadapter.DebugConfig.scala Maven / Gradle / Ivy

package ch.epfl.scala.debugadapter

import scala.concurrent.duration.*

final case class DebugConfig(
    gracePeriod: Duration,
    autoCloseSession: Boolean,
    testMode: Boolean,
    evaluationMode: DebugConfig.EvaluationMode
)

object DebugConfig {
  def default: DebugConfig = DebugConfig(
    5.seconds,
    autoCloseSession = true,
    testMode = false,
    evaluationMode = DebugConfig.MixedEvaluation
  )

  sealed trait EvaluationMode {
    def allowScalaEvaluation: Boolean = false
    def allowSimpleEvaluation: Boolean = false
  }

  case object ScalaEvaluationOnly extends EvaluationMode {
    override def allowScalaEvaluation: Boolean = true
  }
  case object SimpleEvaluationOnly extends EvaluationMode {
    override def allowSimpleEvaluation: Boolean = true
  }
  case object NoEvaluation extends EvaluationMode
  case object MixedEvaluation extends EvaluationMode {
    override def allowScalaEvaluation: Boolean = true
    override def allowSimpleEvaluation: Boolean = true
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy