src/Pure/General/untyped.scala
author wenzelm
Sat, 09 Aug 2014 11:43:58 +0200
changeset 57874 9c361f94b323
parent 56905 fb38a767a78b
child 58682 542fa5093ebf
permissions -rw-r--r--
tuned comments;

/*  Title:      Pure/General/untyped.scala
    Module:     PIDE
    Author:     Makarius

Untyped, unscoped, unchecked access to JVM objects.
*/

package isabelle


object Untyped
{
  def get(obj: AnyRef, x: String): AnyRef =
  {
    obj.getClass.getDeclaredFields.find(_.getName == x) match {
      case Some(field) =>
        field.setAccessible(true)
        field.get(obj)
      case None => error("No field " + quote(x) + " for " + obj)
    }
  }
}