Rename native regex classes
Also, move @IntraCoreApi from NativeConverter to CharsetICU
Bug: 142690826
Test: m droid
Change-Id: Ib2d5588b1e59f64c0866426cf8c379f0c48d982c
diff --git a/android_icu4j/api/intra/current-api.txt b/android_icu4j/api/intra/current-api.txt
index 7984134..16bf832 100644
--- a/android_icu4j/api/intra/current-api.txt
+++ b/android_icu4j/api/intra/current-api.txt
@@ -183,7 +183,7 @@
package com.android.icu.charset {
- public final class NativeConverter {
+ public final class CharsetICU extends java.nio.charset.Charset {
method public static java.nio.charset.Charset charsetForName(String);
method public static String[] getAvailableCharsetNames();
}
@@ -203,8 +203,8 @@
package com.android.icu.util.regex {
- public class NativeMatcher {
- method public static com.android.icu.util.regex.NativeMatcher create(com.android.icu.util.regex.NativePattern);
+ public class MatcherNative {
+ method public static com.android.icu.util.regex.MatcherNative create(com.android.icu.util.regex.PatternNative);
method public boolean find(int, int[]);
method public boolean findNext(int[]);
method public int getMatchedGroupIndex(String);
@@ -218,8 +218,8 @@
method public void useTransparentBounds(boolean);
}
- public class NativePattern {
- method public static com.android.icu.util.regex.NativePattern create(String, int);
+ public class PatternNative {
+ method public static com.android.icu.util.regex.PatternNative create(String, int);
}
}
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/CharsetICU.java b/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/CharsetICU.java
index 5ca6dcf..980c286 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/CharsetICU.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/CharsetICU.java
@@ -16,22 +16,38 @@
/**
* This class is used from native code associated with {@link NativeConverter}.
*/
-final class CharsetICU extends Charset {
+public final class CharsetICU extends Charset {
private final String icuCanonicalName;
+ @libcore.api.IntraCoreApi
+ public static String[] getAvailableCharsetNames() {
+ return NativeConverter.getAvailableCharsetNames();
+ }
+
+ @libcore.api.IntraCoreApi
+ public static Charset charsetForName(String charsetName) {
+ return NativeConverter.charsetForName(charsetName);
+ }
+
+ /**
+ * Called by native codes.
+ */
protected CharsetICU(String canonicalName, String icuCanonName, String[] aliases) {
super(canonicalName, aliases);
icuCanonicalName = icuCanonName;
}
+ @Override
public CharsetDecoder newDecoder() {
return CharsetDecoderICU.newInstance(this, icuCanonicalName);
}
+ @Override
public CharsetEncoder newEncoder() {
return CharsetEncoderICU.newInstance(this, icuCanonicalName);
}
+ @Override
public boolean contains(Charset cs) {
if (cs == null) {
return false;
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/NativeConverter.java b/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/NativeConverter.java
index 39e38ff..ffbcb7d 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/NativeConverter.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/NativeConverter.java
@@ -45,12 +45,9 @@
/* package */ static native boolean contains(String converterName1, String converterName2);
+ /* package */ static native String[] getAvailableCharsetNames();
- @libcore.api.IntraCoreApi
- public static native String[] getAvailableCharsetNames();
-
- @libcore.api.IntraCoreApi
- public static native Charset charsetForName(String charsetName);
+ /* package */ static native Charset charsetForName(String charsetName);
// Translates from Java's enum to the magic numbers #defined in "NativeConverter.cpp".
private static int translateCodingErrorAction(CodingErrorAction action) {
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativeMatcher.java b/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/MatcherNative.java
similarity index 91%
rename from android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativeMatcher.java
rename to android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/MatcherNative.java
index 20e562b..ac5c687 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativeMatcher.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/MatcherNative.java
@@ -18,21 +18,21 @@
import libcore.util.NativeAllocationRegistry;
-public class NativeMatcher {
+public class MatcherNative {
private static final NativeAllocationRegistry REGISTRY = NativeAllocationRegistry
- .createMalloced(NativeMatcher.class.getClassLoader(), getNativeFinalizer());
+ .createMalloced(MatcherNative.class.getClassLoader(), getNativeFinalizer());
- private final NativePattern nativePattern;
+ private final PatternNative nativePattern;
@dalvik.annotation.optimization.ReachabilitySensitive
private final long address;
@libcore.api.IntraCoreApi
- public static NativeMatcher create(NativePattern pattern) {
- return new NativeMatcher(pattern);
+ public static MatcherNative create(PatternNative pattern) {
+ return new MatcherNative(pattern);
}
- private NativeMatcher(NativePattern pattern) {
+ private MatcherNative(PatternNative pattern) {
nativePattern = pattern;
address = pattern.openMatcher();
REGISTRY.registerNativeAllocation(this, address);
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativePattern.java b/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/PatternNative.java
similarity index 88%
rename from android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativePattern.java
rename to android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/PatternNative.java
index 8771918..f826bf9 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativePattern.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/PatternNative.java
@@ -22,20 +22,20 @@
* Provide an entry point to use ICU4C icu::RegexPattern.
*/
@libcore.api.IntraCoreApi
-public class NativePattern {
+public class PatternNative {
private static final NativeAllocationRegistry REGISTRY = NativeAllocationRegistry
- .createMalloced(NativePattern.class.getClassLoader(), getNativeFinalizer());
+ .createMalloced(PatternNative.class.getClassLoader(), getNativeFinalizer());
@dalvik.annotation.optimization.ReachabilitySensitive
private final long address;
@libcore.api.IntraCoreApi
- public static NativePattern create(String pattern, int flags) {
- return new NativePattern(pattern, flags);
+ public static PatternNative create(String pattern, int flags) {
+ return new PatternNative(pattern, flags);
}
- private NativePattern(String pattern, int flags) {
+ private PatternNative(String pattern, int flags) {
address = compileImpl(pattern, flags);
REGISTRY.registerNativeAllocation(this, address);
}
diff --git a/android_icu4j/libcore_bridge/src/native/Register.cpp b/android_icu4j/libcore_bridge/src/native/Register.cpp
index 012d6ef..7d44f1c 100644
--- a/android_icu4j/libcore_bridge/src/native/Register.cpp
+++ b/android_icu4j/libcore_bridge/src/native/Register.cpp
@@ -35,8 +35,8 @@
#define REGISTER(FN) extern void FN(JNIEnv*); FN(env)
REGISTER(register_com_android_icu_util_Icu4cMetadata);
- REGISTER(register_com_android_icu_util_regex_NativePattern);
- REGISTER(register_com_android_icu_util_regex_NativeMatcher);
+ REGISTER(register_com_android_icu_util_regex_PatternNative);
+ REGISTER(register_com_android_icu_util_regex_MatcherNative);
REGISTER(register_com_android_icu_util_charset_NativeConverter);
#undef REGISTER
diff --git a/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativeMatcher.cpp b/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_MatcherNative.cpp
similarity index 67%
rename from android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativeMatcher.cpp
rename to android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_MatcherNative.cpp
index 5a3882b..2d775ce 100644
--- a/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativeMatcher.cpp
+++ b/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_MatcherNative.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "NativeMatcher"
+#define LOG_TAG "MatcherNative"
#include <memory>
#include <stdlib.h>
@@ -37,16 +37,16 @@
return reinterpret_cast<MatcherState*>(static_cast<uintptr_t>(address));
}
-static void NativeMatcher_free(void* address) {
+static void MatcherNative_free(void* address) {
MatcherState* state = reinterpret_cast<MatcherState*>(address);
delete state;
}
-static jlong NativeMatcher_getNativeFinalizer(JNIEnv*, jclass) {
- return reinterpret_cast<jlong>(&NativeMatcher_free);
+static jlong MatcherNative_getNativeFinalizer(JNIEnv*, jclass) {
+ return reinterpret_cast<jlong>(&MatcherNative_free);
}
-static jboolean NativeMatcher_findImpl(JNIEnv* env, jclass, jlong addr, jint startIndex, jintArray offsets) {
+static jboolean MatcherNative_findImpl(JNIEnv* env, jclass, jlong addr, jint startIndex, jintArray offsets) {
MatcherState* state = toMatcherState(addr);
UBool result = state->matcher()->find(startIndex, state->status());
if (result) {
@@ -57,7 +57,7 @@
}
}
-static jboolean NativeMatcher_findNextImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
+static jboolean MatcherNative_findNextImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
MatcherState* state = toMatcherState(addr);
UBool result = state->matcher()->find();
if (result) {
@@ -68,12 +68,12 @@
}
}
-static jint NativeMatcher_groupCountImpl(JNIEnv*, jclass, jlong addr) {
+static jint MatcherNative_groupCountImpl(JNIEnv*, jclass, jlong addr) {
MatcherState* state = toMatcherState(addr);
return state->matcher()->groupCount();
}
-static jboolean NativeMatcher_hitEndImpl(JNIEnv*, jclass, jlong addr) {
+static jboolean MatcherNative_hitEndImpl(JNIEnv*, jclass, jlong addr) {
MatcherState* state = toMatcherState(addr);
if (state->matcher()->hitEnd() != 0) {
return JNI_TRUE;
@@ -82,7 +82,7 @@
}
}
-static jboolean NativeMatcher_lookingAtImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
+static jboolean MatcherNative_lookingAtImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
MatcherState* state = toMatcherState(addr);
UBool result = state->matcher()->lookingAt(state->status());
if (result) {
@@ -93,7 +93,7 @@
}
}
-static jboolean NativeMatcher_matchesImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
+static jboolean MatcherNative_matchesImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
MatcherState* state = toMatcherState(addr);
UBool result = state->matcher()->matches(state->status());
if (result) {
@@ -104,7 +104,7 @@
}
}
-static jboolean NativeMatcher_requireEndImpl(JNIEnv*, jclass, jlong addr) {
+static jboolean MatcherNative_requireEndImpl(JNIEnv*, jclass, jlong addr) {
MatcherState* state = toMatcherState(addr);
if (state->matcher()->requireEnd() != 0) {
return JNI_TRUE;
@@ -113,37 +113,37 @@
}
}
-static void NativeMatcher_setInputImpl(JNIEnv* env, jclass, jlong addr, jstring javaText, jint start, jint end) {
+static void MatcherNative_setInputImpl(JNIEnv* env, jclass, jlong addr, jstring javaText, jint start, jint end) {
MatcherState* state = toMatcherState(addr);
if (state->updateInput(env, javaText)) {
state->matcher()->region(start, end, state->status());
}
}
-static void NativeMatcher_useAnchoringBoundsImpl(JNIEnv*, jclass, jlong addr, jboolean value) {
+static void MatcherNative_useAnchoringBoundsImpl(JNIEnv*, jclass, jlong addr, jboolean value) {
MatcherState* state = toMatcherState(addr);
state->matcher()->useAnchoringBounds(value);
}
-static void NativeMatcher_useTransparentBoundsImpl(JNIEnv*, jclass, jlong addr, jboolean value) {
+static void MatcherNative_useTransparentBoundsImpl(JNIEnv*, jclass, jlong addr, jboolean value) {
MatcherState* state = toMatcherState(addr);
state->matcher()->useTransparentBounds(value);
}
static JNINativeMethod gMethods[] = {
- NATIVE_METHOD(NativeMatcher, findImpl, "(JI[I)Z"),
- NATIVE_METHOD(NativeMatcher, findNextImpl, "(J[I)Z"),
- NATIVE_METHOD(NativeMatcher, getNativeFinalizer, "()J"),
- NATIVE_METHOD(NativeMatcher, groupCountImpl, "(J)I"),
- NATIVE_METHOD(NativeMatcher, hitEndImpl, "(J)Z"),
- NATIVE_METHOD(NativeMatcher, lookingAtImpl, "(J[I)Z"),
- NATIVE_METHOD(NativeMatcher, matchesImpl, "(J[I)Z"),
- NATIVE_METHOD(NativeMatcher, requireEndImpl, "(J)Z"),
- NATIVE_METHOD(NativeMatcher, setInputImpl, "(JLjava/lang/String;II)V"),
- NATIVE_METHOD(NativeMatcher, useAnchoringBoundsImpl, "(JZ)V"),
- NATIVE_METHOD(NativeMatcher, useTransparentBoundsImpl, "(JZ)V"),
+ NATIVE_METHOD(MatcherNative, findImpl, "(JI[I)Z"),
+ NATIVE_METHOD(MatcherNative, findNextImpl, "(J[I)Z"),
+ NATIVE_METHOD(MatcherNative, getNativeFinalizer, "()J"),
+ NATIVE_METHOD(MatcherNative, groupCountImpl, "(J)I"),
+ NATIVE_METHOD(MatcherNative, hitEndImpl, "(J)Z"),
+ NATIVE_METHOD(MatcherNative, lookingAtImpl, "(J[I)Z"),
+ NATIVE_METHOD(MatcherNative, matchesImpl, "(J[I)Z"),
+ NATIVE_METHOD(MatcherNative, requireEndImpl, "(J)Z"),
+ NATIVE_METHOD(MatcherNative, setInputImpl, "(JLjava/lang/String;II)V"),
+ NATIVE_METHOD(MatcherNative, useAnchoringBoundsImpl, "(JZ)V"),
+ NATIVE_METHOD(MatcherNative, useTransparentBoundsImpl, "(JZ)V"),
};
-void register_com_android_icu_util_regex_NativeMatcher(JNIEnv* env) {
- jniRegisterNativeMethods(env, "com/android/icu/util/regex/NativeMatcher", gMethods, NELEM(gMethods));
+void register_com_android_icu_util_regex_MatcherNative(JNIEnv* env) {
+ jniRegisterNativeMethods(env, "com/android/icu/util/regex/MatcherNative", gMethods, NELEM(gMethods));
}
diff --git a/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativePattern.cpp b/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_PatternNative.cpp
similarity index 86%
rename from android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativePattern.cpp
rename to android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_PatternNative.cpp
index 5833d75..e1cb0f6 100644
--- a/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativePattern.cpp
+++ b/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_PatternNative.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "NativePattern"
+#define LOG_TAG "PatternNative"
#include <stdlib.h>
@@ -71,15 +71,15 @@
env->Throw(reinterpret_cast<jthrowable>(exception));
}
-static void NativePattern_free(void* addr) {
+static void PatternNative_free(void* addr) {
delete reinterpret_cast<icu::RegexPattern*>(addr);
}
-static jlong NativePattern_getNativeFinalizer(JNIEnv*, jclass) {
- return reinterpret_cast<jlong>(&NativePattern_free);
+static jlong PatternNative_getNativeFinalizer(JNIEnv*, jclass) {
+ return reinterpret_cast<jlong>(&PatternNative_free);
}
-static jlong NativePattern_compileImpl(JNIEnv* env, jclass, jstring javaRegex, jint flags) {
+static jlong PatternNative_compileImpl(JNIEnv* env, jclass, jstring javaRegex, jint flags) {
flags |= UREGEX_ERROR_ON_UNKNOWN_ESCAPES;
UErrorCode status = U_ZERO_ERROR;
@@ -98,7 +98,7 @@
return static_cast<jlong>(reinterpret_cast<uintptr_t>(result));
}
-static jlong NativePattern_openMatcherImpl(JNIEnv* env, jclass, jlong addr) {
+static jlong PatternNative_openMatcherImpl(JNIEnv* env, jclass, jlong addr) {
icu::RegexPattern* pattern = reinterpret_cast<icu::RegexPattern*>(static_cast<uintptr_t>(addr));
UErrorCode status = U_ZERO_ERROR;
icu::RegexMatcher* result = pattern->matcher(status);
@@ -109,7 +109,7 @@
return reinterpret_cast<uintptr_t>(new MatcherState(result));
}
-static jint NativePattern_getMatchedGroupIndexImpl(JNIEnv* env, jclass, jlong addr, jstring javaGroupName) {
+static jint PatternNative_getMatchedGroupIndexImpl(JNIEnv* env, jclass, jlong addr, jstring javaGroupName) {
icu::RegexPattern* pattern = reinterpret_cast<icu::RegexPattern*>(static_cast<uintptr_t>(addr));
ScopedJavaUnicodeString groupName(env, javaGroupName);
UErrorCode status = U_ZERO_ERROR;
@@ -127,12 +127,12 @@
static JNINativeMethod gMethods[] = {
- NATIVE_METHOD(NativePattern, compileImpl, "(Ljava/lang/String;I)J"),
- NATIVE_METHOD(NativePattern, getNativeFinalizer, "()J"),
- NATIVE_METHOD(NativePattern, openMatcherImpl, "(J)J"),
- NATIVE_METHOD(NativePattern, getMatchedGroupIndexImpl, "(JLjava/lang/String;)I"),
+ NATIVE_METHOD(PatternNative, compileImpl, "(Ljava/lang/String;I)J"),
+ NATIVE_METHOD(PatternNative, getNativeFinalizer, "()J"),
+ NATIVE_METHOD(PatternNative, openMatcherImpl, "(J)J"),
+ NATIVE_METHOD(PatternNative, getMatchedGroupIndexImpl, "(JLjava/lang/String;)I"),
};
-void register_com_android_icu_util_regex_NativePattern(JNIEnv* env) {
- jniRegisterNativeMethods(env, "com/android/icu/util/regex/NativePattern", gMethods, NELEM(gMethods));
+void register_com_android_icu_util_regex_PatternNative(JNIEnv* env) {
+ jniRegisterNativeMethods(env, "com/android/icu/util/regex/PatternNative", gMethods, NELEM(gMethods));
}