author | blanchet |
Thu, 11 Sep 2014 18:54:36 +0200 | |
changeset 58299 | 30ab8289f0e1 |
parent 56905 | fb38a767a78b |
child 58682 | 542fa5093ebf |
permissions | -rw-r--r-- |
56905 | 1 |
/* Title: Pure/General/untyped.scala |
2 |
Module: PIDE |
|
3 |
Author: Makarius |
|
4 |
||
5 |
Untyped, unscoped, unchecked access to JVM objects. |
|
6 |
*/ |
|
7 |
||
8 |
package isabelle |
|
9 |
||
10 |
||
11 |
object Untyped |
|
12 |
{ |
|
13 |
def get(obj: AnyRef, x: String): AnyRef = |
|
14 |
{ |
|
15 |
obj.getClass.getDeclaredFields.find(_.getName == x) match { |
|
16 |
case Some(field) => |
|
17 |
field.setAccessible(true) |
|
18 |
field.get(obj) |
|
19 |
case None => error("No field " + quote(x) + " for " + obj) |
|
20 |
} |
|
21 |
} |
|
22 |
} |
|
23 |