diff options
author | Fredrik Roubert <roubert@google.com> | 2015-07-28 01:28:25 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-07-28 01:28:25 +0000 |
commit | 94f2ce5ff743580829bdcabbba795918ea760769 (patch) | |
tree | b1dbb0cd27a0b73feabae818756d54ad0e2ba49b | |
parent | 3263c26a2d0a9560881ab22c0101b0bf91b0bff6 (diff) | |
parent | af50e415a187190488d4694f307c23705203c53e (diff) | |
download | android_art-94f2ce5ff743580829bdcabbba795918ea760769.tar.gz android_art-94f2ce5ff743580829bdcabbba795918ea760769.tar.bz2 android_art-94f2ce5ff743580829bdcabbba795918ea760769.zip |
am af50e415: Bugfix: Java char is 16 bits, can not be treated as boolean.
* commit 'af50e415a187190488d4694f307c23705203c53e':
Bugfix: Java char is 16 bits, can not be treated as boolean.
-rw-r--r-- | runtime/native/java_lang_reflect_Field.cc | 4 | ||||
-rw-r--r-- | test/046-reflect/expected.txt | 2 | ||||
-rw-r--r-- | test/046-reflect/src/Main.java | 2 | ||||
-rw-r--r-- | test/100-reflect2/expected.txt | 2 | ||||
-rw-r--r-- | test/100-reflect2/src/Main.java | 6 |
5 files changed, 8 insertions, 8 deletions
diff --git a/runtime/native/java_lang_reflect_Field.cc b/runtime/native/java_lang_reflect_Field.cc index ba898c6d2d..39c872dedc 100644 --- a/runtime/native/java_lang_reflect_Field.cc +++ b/runtime/native/java_lang_reflect_Field.cc @@ -253,9 +253,9 @@ ALWAYS_INLINE inline static void SetFieldValue(mirror::Object* o, mirror::Field* break; case Primitive::kPrimChar: if (is_volatile) { - o->SetFieldBooleanVolatile<false>(offset, new_value.GetC()); + o->SetFieldCharVolatile<false>(offset, new_value.GetC()); } else { - o->SetFieldBoolean<false>(offset, new_value.GetC()); + o->SetFieldChar<false>(offset, new_value.GetC()); } break; case Primitive::kPrimInt: diff --git a/test/046-reflect/expected.txt b/test/046-reflect/expected.txt index fa053fb92d..d657d44e61 100644 --- a/test/046-reflect/expected.txt +++ b/test/046-reflect/expected.txt @@ -24,7 +24,7 @@ Method name is myMethod SuperTarget constructor ()V Target constructor ()V Before, float is 3.1415925 -myMethod: hi there 3.1415925 Q ! +myMethod: hi there 3.1415925 ✔ ! Result of invoke: 7 Calling no-arg void-return method myNoargMethod ()V diff --git a/test/046-reflect/src/Main.java b/test/046-reflect/src/Main.java index 0d8e576086..0c90109c69 100644 --- a/test/046-reflect/src/Main.java +++ b/test/046-reflect/src/Main.java @@ -147,7 +147,7 @@ public class Main { Object[] argList = new Object[] { new String[] { "hi there" }, new Float(3.1415926f), - new Character('Q') + new Character('\u2714') }; System.out.println("Before, float is " + ((Float)argList[1]).floatValue()); diff --git a/test/100-reflect2/expected.txt b/test/100-reflect2/expected.txt index 7db61a1023..c932761c3b 100644 --- a/test/100-reflect2/expected.txt +++ b/test/100-reflect2/expected.txt @@ -1,6 +1,6 @@ true 8 -x +✔ 3.141592653589793 3.14 32 diff --git a/test/100-reflect2/src/Main.java b/test/100-reflect2/src/Main.java index 72e14b15f3..bf3a574c99 100644 --- a/test/100-reflect2/src/Main.java +++ b/test/100-reflect2/src/Main.java @@ -20,7 +20,7 @@ import java.util.*; class Main { private static boolean z = true; private static byte b = 8; - private static char c = 'x'; + private static char c = '\u2714'; private static double d = Math.PI; private static float f = 3.14f; private static int i = 32; @@ -144,7 +144,7 @@ class Main { /* private static boolean z = true; private static byte b = 8; - private static char c = 'x'; + private static char c = '\u2714'; private static double d = Math.PI; private static float f = 3.14f; private static int i = 32; @@ -263,7 +263,7 @@ class Main { show(ctor.newInstance((Object[]) null)); ctor = String.class.getConstructor(char[].class, int.class, int.class); - show(ctor.newInstance(new char[] { 'x', 'y', 'z', '!' }, 1, 2)); + show(ctor.newInstance(new char[] { '\u2714', 'y', 'z', '!' }, 1, 2)); } private static void testPackagePrivateConstructor() { |