src/Pure/System/isabelle_system.scala
changeset 71734 713fafb3de79
parent 71733 6c470c918aad
child 71739 c0bc99aad936
equal deleted inserted replaced
71733:6c470c918aad 71734:713fafb3de79
   378     for (name <- space_explode(':', Isabelle_System.getenv_strict(variable)))
   378     for (name <- space_explode(':', Isabelle_System.getenv_strict(variable)))
   379     yield {
   379     yield {
   380       def err(msg: String): Nothing =
   380       def err(msg: String): Nothing =
   381         error("Bad entry " + quote(name) + " in " + variable + "\n" + msg)
   381         error("Bad entry " + quote(name) + " in " + variable + "\n" + msg)
   382 
   382 
   383       try { Class.forName(name).asInstanceOf[Class[A]].newInstance() }
   383       try {
       
   384         Class.forName(name).asInstanceOf[Class[A]].getDeclaredConstructor().newInstance()
       
   385       }
   384       catch {
   386       catch {
   385         case _: ClassNotFoundException => err("Class not found")
   387         case _: ClassNotFoundException => err("Class not found")
   386         case exn: Throwable => err(Exn.message(exn))
   388         case exn: Throwable => err(Exn.message(exn))
   387       }
   389       }
   388     }
   390     }