38 friend class ciInstanceKlass;
39 friend class ciField;
40 friend class ciMethod;
41
42 jint _flags;
43 bool _stable;
44 bool _intialized_final_update;
45
46 ciFlags() :_flags(0), _stable(false), _intialized_final_update(false) { }
47 ciFlags(AccessFlags flags, bool is_stable = false, bool is_initialized_final_update = false) :
48 _flags(flags.as_int()), _stable(is_stable), _intialized_final_update(is_initialized_final_update) { }
49
50 public:
51 // Java access flags
52 bool is_public () const { return (_flags & JVM_ACC_PUBLIC ) != 0; }
53 bool is_private () const { return (_flags & JVM_ACC_PRIVATE ) != 0; }
54 bool is_protected () const { return (_flags & JVM_ACC_PROTECTED ) != 0; }
55 bool is_static () const { return (_flags & JVM_ACC_STATIC ) != 0; }
56 bool is_final () const { return (_flags & JVM_ACC_FINAL ) != 0; }
57 bool is_synchronized () const { return (_flags & JVM_ACC_SYNCHRONIZED ) != 0; }
58 bool is_super () const { return (_flags & JVM_ACC_SUPER ) != 0; }
59 bool is_volatile () const { return (_flags & JVM_ACC_VOLATILE ) != 0; }
60 bool is_transient () const { return (_flags & JVM_ACC_TRANSIENT ) != 0; }
61 bool is_native () const { return (_flags & JVM_ACC_NATIVE ) != 0; }
62 bool is_interface () const { return (_flags & JVM_ACC_INTERFACE ) != 0; }
63 bool is_abstract () const { return (_flags & JVM_ACC_ABSTRACT ) != 0; }
64 bool is_stable () const { return _stable; }
65 // In case the current object represents a field, return true if
66 // the field is modified outside of instance initializer methods
67 // (or class/initializer methods if the field is static) and false
68 // otherwise.
69 bool has_initialized_final_update() const { return _intialized_final_update; };
70
71 // Conversion
72 jint as_int() { return _flags; }
73
74 void print_klass_flags(outputStream* st = tty);
75 void print_member_flags(outputStream* st = tty);
76 void print(outputStream* st = tty);
77 };
78
79 #endif // SHARE_CI_CIFLAGS_HPP
|
38 friend class ciInstanceKlass;
39 friend class ciField;
40 friend class ciMethod;
41
42 jint _flags;
43 bool _stable;
44 bool _intialized_final_update;
45
46 ciFlags() :_flags(0), _stable(false), _intialized_final_update(false) { }
47 ciFlags(AccessFlags flags, bool is_stable = false, bool is_initialized_final_update = false) :
48 _flags(flags.as_int()), _stable(is_stable), _intialized_final_update(is_initialized_final_update) { }
49
50 public:
51 // Java access flags
52 bool is_public () const { return (_flags & JVM_ACC_PUBLIC ) != 0; }
53 bool is_private () const { return (_flags & JVM_ACC_PRIVATE ) != 0; }
54 bool is_protected () const { return (_flags & JVM_ACC_PROTECTED ) != 0; }
55 bool is_static () const { return (_flags & JVM_ACC_STATIC ) != 0; }
56 bool is_final () const { return (_flags & JVM_ACC_FINAL ) != 0; }
57 bool is_synchronized () const { return (_flags & JVM_ACC_SYNCHRONIZED ) != 0; }
58 bool is_volatile () const { return (_flags & JVM_ACC_VOLATILE ) != 0; }
59 bool is_transient () const { return (_flags & JVM_ACC_TRANSIENT ) != 0; }
60 bool is_native () const { return (_flags & JVM_ACC_NATIVE ) != 0; }
61 bool is_interface () const { return (_flags & JVM_ACC_INTERFACE ) != 0; }
62 bool is_abstract () const { return (_flags & JVM_ACC_ABSTRACT ) != 0; }
63 bool has_vararg () const { return (_flags & JVM_ACC_VARARGS ) != 0; }
64 bool is_identity () const { return (_flags & JVM_ACC_IDENTITY ) != 0; }
65 bool is_stable () const { return _stable; }
66 // In case the current object represents a field, return true if
67 // the field is modified outside of instance initializer methods
68 // (or class/initializer methods if the field is static) and false
69 // otherwise.
70 bool has_initialized_final_update() const { return _intialized_final_update; };
71
72 // Conversion
73 jint as_int() { return _flags; }
74
75 void print_klass_flags(outputStream* st = tty);
76 void print_member_flags(outputStream* st = tty);
77 void print(outputStream* st = tty);
78 };
79
80 #endif // SHARE_CI_CIFLAGS_HPP
|