Packages

  • package root
    Definition Classes
    root
  • package zio
    Definition Classes
    root
  • package test

    _ZIO Test_ is a featherweight testing library for effectful programs.

    _ZIO Test_ is a featherweight testing library for effectful programs.

    The library imagines every spec as an ordinary immutable value, providing tremendous potential for composition. Thanks to tight integration with ZIO, specs can use resources (including those requiring disposal), have well- defined linear and parallel semantics, and can benefit from a host of ZIO combinators.

    import zio.test._
    import zio.clock.nanoTime
    import Assertion.isGreaterThan
    
    object MyTest extends DefaultRunnableSpec {
      def spec = suite("clock")(
        testM("time is non-zero") {
          assertM(nanoTime)(isGreaterThan(0))
        }
      )
    }
    Definition Classes
    zio
  • package environment

    The environment package contains testable versions of all the standard ZIO environment types through the TestClock, TestConsole, TestSystem, and TestRandom modules.

    The environment package contains testable versions of all the standard ZIO environment types through the TestClock, TestConsole, TestSystem, and TestRandom modules. See the documentation on the individual modules for more detail about using each of them.

    If you are using ZIO Test and extending RunnableSpec a TestEnvironment containing all of them will be automatically provided to each of your tests. Otherwise, the easiest way to use the test implementations in ZIO Test is by providing the TestEnvironment to your program.

    import zio.test.environment._
    
    myProgram.provideLayer(testEnvironment)

    Then all environmental effects, such as printing to the console or generating random numbers, will be implemented by the TestEnvironment and will be fully testable. When you do need to access the "live" environment, for example to print debugging information to the console, just use the live combinator along with the effect as your normally would.

    If you are only interested in one of the test implementations for your application, you can also access them a la carte through the make method on each module. Each test module requires some data on initialization. Default data is included for each as DefaultData.

    import zio.test.environment._
    
    myProgram.provideM(TestConsole.make(TestConsole.DefaultData))

    Finally, you can create a Test object that implements the test interface directly using the makeTest method. This can be useful when you want to access some testing functionality without using the environment type.

    import zio.test.environment._
    
    for {
      testRandom <- TestRandom.makeTest(TestRandom.DefaultData)
      n          <- testRandom.nextInt
    } yield n

    This can also be useful when you are creating a more complex environment to provide the implementation for test services that you mix in.

    Definition Classes
    test
  • package mock
    Definition Classes
    test
  • package poly
    Definition Classes
    test
  • package reflect
    Definition Classes
    test
  • AbstractRunnableSpec
  • Annotations
  • Assertion
  • AssertionValue
  • AssertionVariants
  • BoolAlgebra
  • BoolAlgebraM
  • CheckVariants
  • CompileVariants
  • DefaultRunnableSpec
  • DefaultTestReporter
  • Eql
  • ExecutionStrategy
  • FailureDetails
  • FailureRenderer
  • FunctionVariants
  • Gen
  • GenFailureDetails
  • GenZIO
  • RenderedResult
  • RunnableSpec
  • Sample
  • Sized
  • Spec
  • Summary
  • SummaryBuilder
  • TestAnnotation
  • TestAnnotationMap
  • TestAnnotationRenderer
  • TestArgs
  • TestAspect
  • TestExecutor
  • TestFailure
  • TestLogger
  • TestPlatform
  • TestReporter
  • TestRunner
  • TestSuccess
  • TestTimeoutException
  • TestVersion
  • TimeVariants
  • TimeoutVariants
  • ZTest

object Gen extends GenZIO with FunctionVariants with TimeVariants with Serializable

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Gen
  2. Serializable
  3. TimeVariants
  4. FunctionVariants
  5. GenZIO
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val alphaNumericChar: Gen[Random, Char]

    A generator of alphanumeric characters.

    A generator of alphanumeric characters. Shrinks toward '0'.

  5. val alphaNumericString: Gen[Random with Sized, String]

    A generator of alphanumeric strings.

    A generator of alphanumeric strings. Shrinks towards the empty string.

  6. def alphaNumericStringBounded(min: Int, max: Int): Gen[Random with Sized, String]

    A generator of alphanumeric strings whose size falls within the specified bounds.

  7. val anyByte: Gen[Random, Byte]

    A generator of bytes.

    A generator of bytes. Shrinks toward '0'.

  8. val anyChar: Gen[Random, Char]

    A generator of characters.

    A generator of characters. Shrinks toward '0'.

  9. val anyDouble: Gen[Random, Double]

    A generator of doubles.

    A generator of doubles. Shrinks toward '0'.

  10. final def anyFiniteDuration: Gen[Random, Duration]

    A generator of finite zio.duration.Duration values.

    A generator of finite zio.duration.Duration values. Shrinks toward Duration.Zero.

    Definition Classes
    TimeVariants
  11. val anyFloat: Gen[Random, Float]

    A generator of floats.

    A generator of floats. Shrinks toward '0'.

  12. final def anyInstant: Gen[Random, Instant]

    A generator of java.time.Instant values.

    A generator of java.time.Instant values. Shrinks toward Instant.MIN.

    Definition Classes
    TimeVariants
  13. val anyInt: Gen[Random, Int]

    A generator of integers.

    A generator of integers. Shrinks toward '0'.

  14. final def anyLocalDateTime: Gen[Random, LocalDateTime]

    A generator of java.time.LocalDateTime values.

    A generator of java.time.LocalDateTime values. Shrinks toward LocalDateTime.MIN.

    Definition Classes
    TimeVariants
  15. val anyLong: Gen[Random, Long]

    A generator of longs.

    A generator of longs. Shrinks toward '0'.

  16. final def anyOffsetDateTime: Gen[Random, OffsetDateTime]

    A generator of java.time.OffsetDateTime values.

    A generator of java.time.OffsetDateTime values. Shrinks toward OffsetDateTime.MIN.

    Definition Classes
    TimeVariants
  17. val anyShort: Gen[Random, Short]

    A generator of shorts.

    A generator of shorts. Shrinks toward '0'.

  18. def anyString: Gen[Random with Sized, String]

    A generator of strings.

    A generator of strings. Shrinks towards the empty string.

  19. val anyUUID: Gen[Random, UUID]

    A generator of universally unique identifiers.

    A generator of universally unique identifiers. The returned generator will not have any shrinking.

  20. val anyUnicodeChar: Gen[Random, Char]

    A generator of Unicode characters.

    A generator of Unicode characters. Shrinks toward '0'.

  21. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  22. val boolean: Gen[Random, Boolean]

    A generator of booleans.

    A generator of booleans. Shrinks toward 'false'.

  23. def bounded[R <: Random, A](min: Int, max: Int)(f: (Int) => Gen[R, A]): Gen[R, A]

    A generator whose size falls within the specified bounds.

  24. def byte(min: Byte, max: Byte): Gen[Random, Byte]

    A generator of byte values inside the specified range: [start, end].

    A generator of byte values inside the specified range: [start, end]. The shrinker will shrink toward the lower end of the range ("smallest").

  25. final def causes[R <: Random with Sized, E](e: Gen[R, E], t: Gen[R, Throwable]): Gen[R, Cause[E]]

    A generator of Cause values

    A generator of Cause values

    Definition Classes
    GenZIO
  26. final def chained[R <: Random with Sized, Env, E, A](gen: Gen[R, ZIO[Env, E, A]]): Gen[R, ZIO[Env, E, A]]

    A generator of effects that are the result of chaining the specified effect with itself a random number of times.

    A generator of effects that are the result of chaining the specified effect with itself a random number of times.

    Definition Classes
    GenZIO
  27. final def chainedN[R <: Random, Env, E, A](n: Int)(zio: Gen[R, ZIO[Env, E, A]]): Gen[R, ZIO[Env, E, A]]

    A generator of effects that are the result of chaining the specified effect with itself a given number of times.

    A generator of effects that are the result of chaining the specified effect with itself a given number of times.

    Definition Classes
    GenZIO
  28. def char(min: Char, max: Char): Gen[Random, Char]

    A generator of character values inside the specified range: [start, end].

    A generator of character values inside the specified range: [start, end]. The shrinker will shrink toward the lower end of the range ("smallest").

  29. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  30. final def concurrent[R, E, A](zio: ZIO[R, E, A]): Gen[Any, ZIO[R, E, A]]

    A generator of effects that are the result of applying concurrency combinators to the specified effect that are guaranteed not to change its value.

    A generator of effects that are the result of applying concurrency combinators to the specified effect that are guaranteed not to change its value.

    Definition Classes
    GenZIO
  31. def const[A](a: => A): Gen[Any, A]

    A constant generator of the specified value.

  32. def constSample[R, A](sample: => Sample[R, A]): Gen[R, A]

    A constant generator of the specified sample.

  33. def crossAll[R, A](gens: Iterable[Gen[R, A]]): Gen[R, List[A]]

    Composes the specified generators to create a cartesian product of elements with the specified function.

  34. def crossN[R, A, B, C, D, F](gen1: Gen[R, A], gen2: Gen[R, B], gen3: Gen[R, C], gen4: Gen[R, D])(f: (A, B, C, D) => F): Gen[R, F]

    Composes the specified generators to create a cartesian product of elements with the specified function.

  35. def crossN[R, A, B, C, D](gen1: Gen[R, A], gen2: Gen[R, B], gen3: Gen[R, C])(f: (A, B, C) => D): Gen[R, D]

    Composes the specified generators to create a cartesian product of elements with the specified function.

  36. def crossN[R, A, B, C](gen1: Gen[R, A], gen2: Gen[R, B])(f: (A, B) => C): Gen[R, C]

    Composes the specified generators to create a cartesian product of elements with the specified function.

  37. final def died[R](gen: Gen[R, Throwable]): Gen[R, ZIO[Any, Nothing, Nothing]]

    A generator of effects that have died with a Throwable.

    A generator of effects that have died with a Throwable.

    Definition Classes
    GenZIO
  38. def double(min: Double, max: Double): Gen[Random, Double]

    A generator of double values inside the specified range: [start, end].

    A generator of double values inside the specified range: [start, end]. The shrinker will shrink toward the lower end of the range ("smallest").

  39. def either[R <: Random, A, B](left: Gen[R, A], right: Gen[R, B]): Gen[R, Either[A, B]]
  40. def elements[A](as: A*): Gen[Random, A]
  41. val empty: Gen[Any, Nothing]
  42. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  43. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  44. val exponential: Gen[Random, Double]

    A generator of exponentially distributed doubles with mean 1.

    A generator of exponentially distributed doubles with mean 1. The shrinker will shrink toward 0.

  45. final def failures[R, E](gen: Gen[R, E]): Gen[R, ZIO[Any, E, Nothing]]

    A generator of effects that have failed with an error.

    A generator of effects that have failed with an error.

    Definition Classes
    GenZIO
  46. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  47. final def finiteDuration(min: Duration, max: Duration): Gen[Random, Duration]

    A generator of finite zio.duration.Duration values inside the specified range: [min, max].

    A generator of finite zio.duration.Duration values inside the specified range: [min, max]. Shrinks toward min.

    Definition Classes
    TimeVariants
  48. def fromEffect[R, A](effect: ZIO[R, Nothing, A]): Gen[R, A]

    Constructs a generator from an effect that constructs a value.

  49. def fromEffectSample[R, A](effect: ZIO[R, Nothing, Sample[R, A]]): Gen[R, A]

    Constructs a generator from an effect that constructs a sample.

  50. def fromIterable[R, A](as: Iterable[A], shrinker: (A) => ZStream[R, Nothing, A] = defaultShrinker): Gen[R, A]

    Constructs a deterministic generator that only generates the specified fixed values.

  51. final def fromRandom[A](f: (Service) => UIO[A]): Gen[Random, A]

    Constructs a generator from a function that uses randomness.

    Constructs a generator from a function that uses randomness. The returned generator will not have any shrinking.

  52. final def fromRandomSample[R <: Random, A](f: (Service) => UIO[Sample[R, A]]): Gen[R, A]

    Constructs a generator from a function that uses randomness to produce a sample.

  53. final def function[R, A, B](gen: Gen[R, B]): Gen[R, (A) => B]

    Constructs a generator of functions from A to B given a generator of B values.

    Constructs a generator of functions from A to B given a generator of B values. Two A values will be considered to be equal, and thus will be guaranteed to generate the same B value, if they have the same hashCode.

    Definition Classes
    FunctionVariants
  54. final def function2[R, A, B, C](gen: Gen[R, C]): Gen[R, (A, B) => C]

    A version of function that generates functions that accept two parameters.

    A version of function that generates functions that accept two parameters.

    Definition Classes
    FunctionVariants
  55. final def function3[R, A, B, C, D](gen: Gen[R, D]): Gen[R, (A, B, C) => D]

    A version of function that generates functions that accept three parameters.

    A version of function that generates functions that accept three parameters.

    Definition Classes
    FunctionVariants
  56. final def function4[R, A, B, C, D, E](gen: Gen[R, E]): Gen[R, (A, B, C, D) => E]

    A version of function that generates functions that accept four parameters.

    A version of function that generates functions that accept four parameters.

    Definition Classes
    FunctionVariants
  57. final def functionWith[R, A, B](gen: Gen[R, B])(hash: (A) => Int): Gen[R, (A) => B]

    Constructs a generator of functions from A to B given a generator of B values and a hashing function for A values.

    Constructs a generator of functions from A to B given a generator of B values and a hashing function for A values. Two A values will be considered to be equal, and thus will be guaranteed to generate the same B value, if they have have the same hash. This is useful when A does not implement hashCode in a way that is consistent with equality.

    Definition Classes
    FunctionVariants
  58. final def functionWith2[R, A, B, C](gen: Gen[R, C])(hash: (A, B) => Int): Gen[R, (A, B) => C]

    A version of functionWith that generates functions that accept two parameters.

    A version of functionWith that generates functions that accept two parameters.

    Definition Classes
    FunctionVariants
  59. final def functionWith3[R, A, B, C, D](gen: Gen[R, D])(hash: (A, B, C) => Int): Gen[R, (A, B, C) => D]

    A version of functionWith that generates functions that accept three parameters.

    A version of functionWith that generates functions that accept three parameters.

    Definition Classes
    FunctionVariants
  60. final def functionWith4[R, A, B, C, D, E](gen: Gen[R, E])(hash: (A, B, C, D) => Int): Gen[R, (A, B, C, D) => E]

    A version of functionWith that generates functions that accept four parameters.

    A version of functionWith that generates functions that accept four parameters.

    Definition Classes
    FunctionVariants
  61. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  62. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  63. final def instant(min: Instant, max: Instant): Gen[Random, Instant]

    A generator of java.time.Instant values inside the specified range: [min, max].

    A generator of java.time.Instant values inside the specified range: [min, max]. Shrinks toward min.

    Definition Classes
    TimeVariants
  64. def int(min: Int, max: Int): Gen[Random, Int]

    A generator of integers inside the specified range: [start, end].

    A generator of integers inside the specified range: [start, end]. The shrinker will shrink toward the lower end of the range ("smallest").

  65. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  66. def large[R <: Random with Sized, A](f: (Int) => Gen[R, A], min: Int = 0): Gen[R, A]

    A sized generator that uses a uniform distribution of size values.

    A sized generator that uses a uniform distribution of size values. A large number of larger sizes will be generated.

  67. def listOf[R <: Random with Sized, A](g: Gen[R, A]): Gen[R, List[A]]
  68. def listOf1[R <: Random with Sized, A](g: Gen[R, A]): Gen[R, List[A]]
  69. def listOfBounded[R <: Random, A](min: Int, max: Int)(g: Gen[R, A]): Gen[R, List[A]]

    A generator of lists whose size falls within the specified bounds.

  70. def listOfN[R <: Random, A](n: Int)(g: Gen[R, A]): Gen[R, List[A]]
  71. final def localDateTime(min: LocalDateTime, max: LocalDateTime): Gen[Random, LocalDateTime]

    A generator of java.time.LocalDateTime values inside the specified range: [min, max].

    A generator of java.time.LocalDateTime values inside the specified range: [min, max]. Shrinks toward min.

    Definition Classes
    TimeVariants
  72. def long(min: Long, max: Long): Gen[Random, Long]

    A generator of long values in the specified range: [start, end].

    A generator of long values in the specified range: [start, end]. The shrinker will shrink toward the lower end of the range ("smallest").

  73. def medium[R <: Random with Sized, A](f: (Int) => Gen[R, A], min: Int = 0): Gen[R, A]

    A sized generator that uses an exponential distribution of size values.

    A sized generator that uses an exponential distribution of size values. The majority of sizes will be towards the lower end of the range but some larger sizes will be generated as well.

  74. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  75. val none: Gen[Any, Option[Nothing]]

    A constant generator of the empty value.

  76. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  77. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  78. final def offsetDateTime(min: OffsetDateTime, max: OffsetDateTime): Gen[Random, OffsetDateTime]

    A generator of java.time.OffsetDateTime values inside the specified range: [min, max].

    A generator of java.time.OffsetDateTime values inside the specified range: [min, max]. Shrinks toward min.

    Definition Classes
    TimeVariants
  79. def oneOf[R <: Random, A](as: Gen[R, A]*): Gen[R, A]
  80. def option[R <: Random, A](gen: Gen[R, A]): Gen[R, Option[A]]

    A generator of optional values.

    A generator of optional values. Shrinks toward None.

  81. final def parallel[R, E, A](zio: ZIO[R, E, A]): Gen[Any, ZIO[R, E, A]]

    A generator of effects that are the result of applying parallelism combinators to the specified effect that are guaranteed not to change its value.

    A generator of effects that are the result of applying parallelism combinators to the specified effect that are guaranteed not to change its value.

    Definition Classes
    GenZIO
  82. def partialFunction[R <: Random, A, B](gen: Gen[R, B]): Gen[R, PartialFunction[A, B]]

    Constructs a generator of partial functions from A to B given a generator of B values.

    Constructs a generator of partial functions from A to B given a generator of B values. Two A values will be considered to be equal, and thus will be guaranteed to generate the same B value or both be outside the partial function's domain, if they have the same hashCode.

  83. def partialFunctionWith[R <: Random, A, B](gen: Gen[R, B])(hash: (A) => Int): Gen[R, PartialFunction[A, B]]

    Constructs a generator of partial functions from A to B given a generator of B values and a hashing function for A values.

    Constructs a generator of partial functions from A to B given a generator of B values and a hashing function for A values. Two A values will be considered to be equal, and thus will be guaranteed to generate the same B value or both be outside the partial function's domain, if they have have the same hash. This is useful when A does not implement hashCode in a way that is consistent with equality.

  84. val printableChar: Gen[Random, Char]

    A generator of printable characters.

    A generator of printable characters. Shrinks toward '!'.

  85. def short(min: Short, max: Short): Gen[Random, Short]

    A generator of short values inside the specified range: [start, end].

    A generator of short values inside the specified range: [start, end]. The shrinker will shrink toward the lower end of the range ("smallest").

  86. def size: Gen[Sized, Int]
  87. def sized[R <: Sized, A](f: (Int) => Gen[R, A]): Gen[R, A]

    A sized generator, whose size falls within the specified bounds.

  88. def small[R <: Random with Sized, A](f: (Int) => Gen[R, A], min: Int = 0): Gen[R, A]

    A sized generator that uses an exponential distribution of size values.

    A sized generator that uses an exponential distribution of size values. The values generated will be strongly concentrated towards the lower end of the range but a few larger values will still be generated.

  89. def some[R, A](gen: Gen[R, A]): Gen[R, Option[A]]
  90. def string[R <: Random with Sized](char: Gen[R, Char]): Gen[R, String]
  91. def string1[R <: Random with Sized](char: Gen[R, Char]): Gen[R, String]
  92. def stringBounded[R <: Random](min: Int, max: Int)(g: Gen[R, Char]): Gen[R, String]

    A generator of strings whose size falls within the specified bounds.

  93. def stringN[R <: Random](n: Int)(char: Gen[R, Char]): Gen[R, String]
  94. final def successes[R, A](gen: Gen[R, A]): Gen[R, ZIO[Any, Nothing, A]]

    A generator of successful effects.

    A generator of successful effects.

    Definition Classes
    GenZIO
  95. def suspend[R, A](gen: => Gen[R, A]): Gen[R, A]

    Lazily constructs a generator.

    Lazily constructs a generator. This is useful to avoid infinite recursion when creating generators that refer to themselves.

  96. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  97. val throwable: Gen[Random, Throwable]

    A generator of throwables.

  98. def toString(): String
    Definition Classes
    AnyRef → Any
  99. def uniform: Gen[Random, Double]

    A generator of uniformly distributed doubles between [0, 1].

    A generator of uniformly distributed doubles between [0, 1]. The shrinker will shrink toward 0.

  100. val unit: Gen[Any, Unit]

    A constant generator of the unit value.

  101. def vectorOf[R <: Random with Sized, A](g: Gen[R, A]): Gen[R, Vector[A]]
  102. def vectorOf1[R <: Random with Sized, A](g: Gen[R, A]): Gen[R, Vector[A]]
  103. def vectorOfBounded[R <: Random, A](min: Int, max: Int)(g: Gen[R, A]): Gen[R, Vector[A]]

    A generator of vectors whose size falls within the specified bounds.

  104. def vectorOfN[R <: Random, A](n: Int)(g: Gen[R, A]): Gen[R, Vector[A]]
  105. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  106. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  107. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  108. def weighted[R <: Random, A](gs: (Gen[R, A], Double)*): Gen[R, A]
  109. def zipAll[R, A](gens: Iterable[Gen[R, A]]): Gen[R, List[A]]

    Zips the specified generators together pairwise.

    Zips the specified generators together pairwise. The new generator will generate elements as long as any generator is generating elements, running the other generators multiple times if necessary.

  110. def zipN[R, A, B, C, D, F](gen1: Gen[R, A], gen2: Gen[R, B], gen3: Gen[R, C], gen4: Gen[R, D])(f: (A, B, C, D) => F): Gen[R, F]

    Zips the specified generators together pairwise.

    Zips the specified generators together pairwise. The new generator will generate elements as long as any generator is generating elements, running the other generators multiple times if necessary.

  111. def zipN[R, A, B, C, D](gen1: Gen[R, A], gen2: Gen[R, B], gen3: Gen[R, C])(f: (A, B, C) => D): Gen[R, D]

    Zips the specified generators together pairwise.

    Zips the specified generators together pairwise. The new generator will generate elements as long as any generator is generating elements, running the other generators multiple times if necessary.

  112. def zipN[R, A, B, C](gen1: Gen[R, A], gen2: Gen[R, B])(f: (A, B) => C): Gen[R, C]

    Zips the specified generators together pairwise.

    Zips the specified generators together pairwise. The new generator will generate elements as long as any generator is generating elements, running the other generators multiple times if necessary.

Inherited from Serializable

Inherited from TimeVariants

Inherited from FunctionVariants

Inherited from GenZIO

Inherited from AnyRef

Inherited from Any

Ungrouped