diff options
Diffstat (limited to 'runtime/native/java_lang_String.cc')
-rw-r--r-- | runtime/native/java_lang_String.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/runtime/native/java_lang_String.cc b/runtime/native/java_lang_String.cc index f1d6ff5f70..1357338464 100644 --- a/runtime/native/java_lang_String.cc +++ b/runtime/native/java_lang_String.cc @@ -99,9 +99,11 @@ static jstring String_intern(JNIEnv* env, jobject java_this) { return soa.AddLocalReference<jstring>(result); } -static void String_setCharAt(JNIEnv* env, jobject java_this, jint index, jchar c) { +static jstring String_doReplace(JNIEnv* env, jobject java_this, jchar old_c, jchar new_c) { ScopedFastNativeObjectAccess soa(env); - soa.Decode<mirror::String>(java_this)->SetCharAt(index, c); + ObjPtr<mirror::String> result = + soa.Decode<mirror::String>(java_this)->DoReplace(soa.Self(), old_c, new_c); + return soa.AddLocalReference<jstring>(result); } static jcharArray String_toCharArray(JNIEnv* env, jobject java_this) { @@ -114,11 +116,11 @@ static JNINativeMethod gMethods[] = { NATIVE_METHOD(String, charAt, "!(I)C"), NATIVE_METHOD(String, compareTo, "!(Ljava/lang/String;)I"), NATIVE_METHOD(String, concat, "!(Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(String, doReplace, "!(CC)Ljava/lang/String;"), NATIVE_METHOD(String, fastIndexOf, "!(II)I"), NATIVE_METHOD(String, fastSubstring, "!(II)Ljava/lang/String;"), NATIVE_METHOD(String, getCharsNoCheck, "!(II[CI)V"), NATIVE_METHOD(String, intern, "!()Ljava/lang/String;"), - NATIVE_METHOD(String, setCharAt, "!(IC)V"), NATIVE_METHOD(String, toCharArray, "!()[C"), }; |