From 7d7316a077870b99032ae57bd2f7d471a5952335 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Sun, 6 Oct 2013 18:01:12 +0400 Subject: [PATCH] Reading static fields supported --- test/org/jetbrains/eval4j/test/TestData.java | 10 ++++++++++ test/org/jetbrains/eval4j/test/main.kt | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/test/org/jetbrains/eval4j/test/TestData.java b/test/org/jetbrains/eval4j/test/TestData.java index 55c20d32cc0..39edc598bc7 100644 --- a/test/org/jetbrains/eval4j/test/TestData.java +++ b/test/org/jetbrains/eval4j/test/TestData.java @@ -156,4 +156,14 @@ class TestData { return String.CASE_INSENSITIVE_ORDER; } + static int FIELD = 0; + + static int testPutStaticField() { + FIELD = 5; + int f1 = FIELD; + FIELD = 6; + int f2 = FIELD; + return f2 + f1; + } + } diff --git a/test/org/jetbrains/eval4j/test/main.kt b/test/org/jetbrains/eval4j/test/main.kt index 5b958d5b225..d8fa29232c5 100644 --- a/test/org/jetbrains/eval4j/test/main.kt +++ b/test/org/jetbrains/eval4j/test/main.kt @@ -143,6 +143,11 @@ object REFLECTION_EVAL : Eval { override fun setStaticField(fieldDesc: FieldDescription, newValue: Value) { assertTrue(fieldDesc.isStatic) + val owner = lookup.findClass(fieldDesc.ownerInternalName) + assertNotNull("Class not found: ${fieldDesc.ownerInternalName}", owner) + val field = owner!!.findField(fieldDesc) + assertNotNull("Field not found: $fieldDesc", field) + val result = field!!.set(null, newValue.obj) } override fun invokeStaticMethod(methodDesc: MethodDescription, arguments: List): Value {