src/Pure/General/untyped.scala
author wenzelm
Thu, 08 May 2014 00:12:22 +0200
changeset 56905 fb38a767a78b
child 58682 542fa5093ebf
permissions -rw-r--r--
untyped, unscoped, unchecked access to JVM objects;

/*  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)
    }
  }
}