OSDN Git Service

Remove floatformat_arm_ext.
[pf3gnuchains/gcc-fork.git] / libjava / gcj / field.h
index 4413fa3..9279c83 100644 (file)
@@ -13,6 +13,8 @@ details.  */
 
 #include <java/lang/Class.h>
 #include <java/lang/reflect/Field.h>
+#include <java/lang/reflect/Modifier.h>
+#include <gnu/gcj/RawData.h>
 
 #define _Jv_FIELD_UNRESOLVED_FLAG      0x8000
 #define        _Jv_FIELD_CONSTANT_VALUE        0x4000
@@ -74,8 +76,11 @@ struct _Jv_Field
     return type;
   }
 
-  // FIXME - may need to mask off internal flags.
-  int getModifiers() { return flags; }
+  // Need to mask off all unknown/internal flags before returning.
+  int getModifiers()
+  {
+    return flags & java::lang::reflect::Modifier::ALL_FLAGS;
+  }
 
 #ifdef COMPACT_FIELDS
   _Jv_Utf8Const * getNameUtf8Const (jclass cls)
@@ -175,9 +180,7 @@ JvNumStaticFields (jclass klass)
 extern inline jboolean
 JvFieldIsRef (jfieldID field)
 {
-  // gnu.gcj.RawData.class is  _CL_Q33gnu3gcj7RawData
-  extern java::lang::Class _CL_Q33gnu3gcj7RawData;
-  return field->isRef () && field->type != &_CL_Q33gnu3gcj7RawData;
+  return field->isRef () && field->type != &gnu::gcj::RawData::class$;
 }
 
 extern inline jobject