equal
deleted
inserted
replaced
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 } |