diff options
author | Elliott Hughes <enh@google.com> | 2011-10-02 16:31:10 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2011-10-02 16:31:10 -0700 |
commit | 9dcc79df4ffc90b62f8e0eab18fa2aa90c38d5bd (patch) | |
tree | a757a16060e37aa12158060e67c9b54d29f52ee4 /src/java_lang_Class.cc | |
parent | e983d0062addbf374938df04d626243e08b79412 (diff) | |
download | art-9dcc79df4ffc90b62f8e0eab18fa2aa90c38d5bd.zip art-9dcc79df4ffc90b62f8e0eab18fa2aa90c38d5bd.tar.gz art-9dcc79df4ffc90b62f8e0eab18fa2aa90c38d5bd.tar.bz2 |
Add Class.getModifiers.
This doesn't cope with inner classes, but it lets us run more tests.
Change-Id: I3f87b49e87cbe72a7d1d9aeede12ec88d59f8ea3
Diffstat (limited to 'src/java_lang_Class.cc')
-rw-r--r-- | src/java_lang_Class.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/java_lang_Class.cc b/src/java_lang_Class.cc index a404523..d2dd2ea 100644 --- a/src/java_lang_Class.cc +++ b/src/java_lang_Class.cc @@ -178,6 +178,15 @@ jobject Class_getDex(JNIEnv* env, jobject javaClass) { return Runtime::Current()->GetClassLinker()->FindDexFile(dex_cache).GetDexObject(env); } +jint Class_getModifiers(JNIEnv* env, jclass, jclass javaClass, jboolean ignoreInner) { + Class* c = Decode<Class*>(env, javaClass); + jint flags = c->GetAccessFlags() & kAccJavaFlagsMask; + if (!ignoreInner) { + UNIMPLEMENTED(WARNING) << "inner class modifiers"; + } + return flags; +} + jobject Class_getClassLoader(JNIEnv* env, jclass, jobject javaClass) { Class* c = Decode<Class*>(env, javaClass); Object* result = reinterpret_cast<Object*>(const_cast<ClassLoader*>(c->GetClassLoader())); @@ -443,7 +452,7 @@ static JNINativeMethod gMethods[] = { NATIVE_METHOD(Class, getDeclaringClass, "()Ljava/lang/Class;"), NATIVE_METHOD(Class, getDex, "()Lcom/android/dex/Dex;"), //NATIVE_METHOD(Class, getInnerClassName, "()Ljava/lang/String;"), - //NATIVE_METHOD(Class, getModifiers, "(Ljava/lang/Class;Z)I"), + NATIVE_METHOD(Class, getModifiers, "(Ljava/lang/Class;Z)I"), NATIVE_METHOD(Class, getNameNative, "()Ljava/lang/String;"), NATIVE_METHOD(Class, getSuperclass, "()Ljava/lang/Class;"), NATIVE_METHOD(Class, isAnonymousClass, "()Z"), |