diff options
Diffstat (limited to 'libjava/java/lang/reflect')
-rw-r--r-- | libjava/java/lang/reflect/Modifier.java | 2 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natConstructor.cc | 3 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natMethod.cc | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/libjava/java/lang/reflect/Modifier.java b/libjava/java/lang/reflect/Modifier.java index 14b0da3f095..5fddbc695e4 100644 --- a/libjava/java/lang/reflect/Modifier.java +++ b/libjava/java/lang/reflect/Modifier.java @@ -37,7 +37,7 @@ public class Modifier public static final int STRICT = 0x800; // This is only used by the C++ code, so it is not public. - static final int ALL_FLAGS = 0x7ff; + static final int ALL_FLAGS = 0xfff; public static boolean isAbstract (int mod) { diff --git a/libjava/java/lang/reflect/natConstructor.cc b/libjava/java/lang/reflect/natConstructor.cc index 48f5aa345d1..a8da794bdb8 100644 --- a/libjava/java/lang/reflect/natConstructor.cc +++ b/libjava/java/lang/reflect/natConstructor.cc @@ -23,7 +23,8 @@ details. */ jint java::lang::reflect::Constructor::getModifiers () { - return _Jv_FromReflectedConstructor (this)->accflags; + // Ignore all unknown flags. + return _Jv_FromReflectedConstructor (this)->accflags & Modifier::ALL_FLAGS; } void diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc index 0cee80b1ddf..ce4a15cfc17 100644 --- a/libjava/java/lang/reflect/natMethod.cc +++ b/libjava/java/lang/reflect/natMethod.cc @@ -182,7 +182,8 @@ java::lang::reflect::Method::invoke (jobject obj, jobjectArray args) jint java::lang::reflect::Method::getModifiers () { - return _Jv_FromReflectedMethod (this)->accflags; + // Ignore all unknown flags. + return _Jv_FromReflectedMethod (this)->accflags & Modifier::ALL_FLAGS; } jstring |