Index: base/android/jni_generator/jni_generator_tests.py |
diff --git a/base/android/jni_generator/jni_generator_tests.py b/base/android/jni_generator/jni_generator_tests.py |
index eaa3f7309e82ad45fe78ec380efbe4f2934c8d3d..bf78d9c8d5a303d6b17a7ac6e7de881fa97f3e2e 100755 |
--- a/base/android/jni_generator/jni_generator_tests.py |
+++ b/base/android/jni_generator/jni_generator_tests.py |
@@ -1583,6 +1583,7 @@ import org.chromium.base.BuildInfo; |
public abstract class java.util.HashSet<T> extends java.util.AbstractSet<E> |
implements java.util.Set<E>, java.lang.Cloneable, java.io.Serializable { |
public void dummy(); |
+ Signature: ()V |
} |
""" |
jni_from_javap = jni_generator.JNIFromJavaP(contents.split('\n'), |
@@ -1632,10 +1633,7 @@ static void Java_HashSet_dummy(JNIEnv* env, jobject obj) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_HashSet_clazz, |
"dummy", |
- |
-"(" |
-")" |
-"V", |
+"()V", |
&g_HashSet_dummy); |
env->CallVoidMethod(obj, |
@@ -1658,20 +1656,55 @@ static bool RegisterNativesImpl(JNIEnv* env) { |
""" |
self.assertTextEquals(golden_content, jni_from_javap.GetContent()) |
+ def testSnippnetJavap6_7(self): |
+ content_javap6 = """ |
+public class java.util.HashSet { |
+public boolean add(java.lang.Object); |
+ Signature: (Ljava/lang/Object;)Z |
+} |
+""" |
+ |
+ content_javap7 = """ |
+public class java.util.HashSet { |
+public boolean add(E); |
+ Signature: (Ljava/lang/Object;)Z |
+} |
+""" |
+ jni_from_javap6 = jni_generator.JNIFromJavaP(content_javap6.split('\n'), |
+ TestOptions()) |
+ jni_from_javap7 = jni_generator.JNIFromJavaP(content_javap7.split('\n'), |
+ TestOptions()) |
+ self.assertTrue(jni_from_javap6.GetContent()) |
+ self.assertTrue(jni_from_javap7.GetContent()) |
+ # Ensure the javap7 is correctly parsed and uses the Signature field rather |
+ # than the "E" parameter. |
+ self.assertTextEquals(jni_from_javap6.GetContent(), |
+ jni_from_javap7.GetContent()) |
+ |
def testFromJavaP(self): |
contents = """ |
-public abstract class java.io.InputStream extends java.lang.Object |
- implements java.io.Closeable{ |
- public java.io.InputStream(); |
- public int available() throws java.io.IOException; |
- public void close() throws java.io.IOException; |
- public void mark(int); |
- public boolean markSupported(); |
- public abstract int read() throws java.io.IOException; |
- public int read(byte[]) throws java.io.IOException; |
- public int read(byte[], int, int) throws java.io.IOException; |
- public synchronized void reset() throws java.io.IOException; |
- public long skip(long) throws java.io.IOException; |
+public abstract class java.io.InputStream extends |
+ java.lang.Object implements java.io.Closeable{ |
+public java.io.InputStream(); |
+ Signature: ()V |
+public int available() throws java.io.IOException; |
+ Signature: ()I |
+public void close() throws java.io.IOException; |
+ Signature: ()V |
+public void mark(int); |
+ Signature: (I)V |
+public boolean markSupported(); |
+ Signature: ()Z |
+public abstract int read() throws java.io.IOException; |
+ Signature: ()I |
+public int read(byte[]) throws java.io.IOException; |
+ Signature: ([B)I |
+public int read(byte[], int, int) throws java.io.IOException; |
+ Signature: ([BII)I |
+public synchronized void reset() throws java.io.IOException; |
+ Signature: ()V |
+public long skip(long) throws java.io.IOException; |
+ Signature: (J)J |
} |
""" |
jni_from_javap = jni_generator.JNIFromJavaP(contents.split('\n'), |
@@ -1721,10 +1754,7 @@ static jint Java_InputStream_available(JNIEnv* env, jobject obj) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"available", |
- |
-"(" |
-")" |
-"I", |
+"()I", |
&g_InputStream_available); |
jint ret = |
@@ -1745,10 +1775,7 @@ static void Java_InputStream_close(JNIEnv* env, jobject obj) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"close", |
- |
-"(" |
-")" |
-"V", |
+"()V", |
&g_InputStream_close); |
env->CallVoidMethod(obj, |
@@ -1768,11 +1795,7 @@ static void Java_InputStream_mark(JNIEnv* env, jobject obj, jint p0) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"mark", |
- |
-"(" |
-"I" |
-")" |
-"V", |
+"(I)V", |
&g_InputStream_mark); |
env->CallVoidMethod(obj, |
@@ -1792,10 +1815,7 @@ static jboolean Java_InputStream_markSupported(JNIEnv* env, jobject obj) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"markSupported", |
- |
-"(" |
-")" |
-"Z", |
+"()Z", |
&g_InputStream_markSupported); |
jboolean ret = |
@@ -1816,10 +1836,7 @@ static jint Java_InputStream_readI(JNIEnv* env, jobject obj) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"read", |
- |
-"(" |
-")" |
-"I", |
+"()I", |
&g_InputStream_readI); |
jint ret = |
@@ -1840,11 +1857,7 @@ static jint Java_InputStream_readI_AB(JNIEnv* env, jobject obj, jbyteArray p0) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"read", |
- |
-"(" |
-"[B" |
-")" |
-"I", |
+"([B)I", |
&g_InputStream_readI_AB); |
jint ret = |
@@ -1870,13 +1883,7 @@ static jint Java_InputStream_readI_AB_I_I(JNIEnv* env, jobject obj, jbyteArray |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"read", |
- |
-"(" |
-"[B" |
-"I" |
-"I" |
-")" |
-"I", |
+"([BII)I", |
&g_InputStream_readI_AB_I_I); |
jint ret = |
@@ -1897,10 +1904,7 @@ static void Java_InputStream_reset(JNIEnv* env, jobject obj) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"reset", |
- |
-"(" |
-")" |
-"V", |
+"()V", |
&g_InputStream_reset); |
env->CallVoidMethod(obj, |
@@ -1920,11 +1924,7 @@ static jlong Java_InputStream_skip(JNIEnv* env, jobject obj, jlong p0) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"skip", |
- |
-"(" |
-"J" |
-")" |
-"J", |
+"(J)J", |
&g_InputStream_skip); |
jlong ret = |
@@ -1945,10 +1945,7 @@ static ScopedJavaLocalRef<jobject> Java_InputStream_Constructor(JNIEnv* env) { |
base::android::MethodID::TYPE_INSTANCE>( |
env, g_InputStream_clazz, |
"<init>", |
- |
-"(" |
-")" |
-"V", |
+"()V", |
&g_InputStream_Constructor); |
jobject ret = |