src/Pure/ROOT.scala
author wenzelm
Mon, 03 Dec 2018 14:59:42 +0100
changeset 69393 ed0824ef337e
parent 68144 7b995cd6d5d4
child 69458 5655af3ea5bd
permissions -rw-r--r--
static type for Library.using: avoid Java 11 warnings on "Illegal reflective access"; more uses of "using";

/*  Title:      Pure/ROOT.scala
    Author:     Makarius

Root of isabelle package.
*/

package object isabelle
{
  val ERROR = Exn.ERROR
  val error = Exn.error _
  def cat_error(msgs: String*): Nothing = Exn.cat_error(msgs:_*)

  def using[A <: AutoCloseable, B](a: A)(f: A => B): B = Library.using(a)(f)
  val space_explode = Library.space_explode _
  val split_lines = Library.split_lines _
  val cat_lines = Library.cat_lines _
  val terminate_lines = Library.terminate_lines _
  val quote = Library.quote _
  val commas = Library.commas _
  val commas_quote = Library.commas_quote _
  def proper[A](x: A): Option[A] = Library.proper(x)
  val proper_string = Library.proper_string _
  def proper_list[A](list: List[A]): Option[List[A]] = Library.proper_list(list)

  type UUID = java.util.UUID
  def UUID(): UUID = java.util.UUID.randomUUID()
}