81 bool has_initial_value() const { return field()->initval_index() != 0; }
82 int initial_value_index() const { return field()->initval_index(); }
83 constantTag initial_value_tag() const; // The tag will return true on one of is_int(), is_long(), is_single(), is_double()
84 jint int_initial_value() const;
85 jlong long_initial_value() const;
86 jfloat float_initial_value() const;
87 jdouble double_initial_value() const;
88 oop string_initial_value(TRAPS) const;
89
90 // Field signature type
91 BasicType field_type() const { return FieldType::basic_type(signature()); }
92
93 // Access flags
94 bool is_public() const { return access_flags().is_public(); }
95 bool is_private() const { return access_flags().is_private(); }
96 bool is_protected() const { return access_flags().is_protected(); }
97 bool is_package_private() const { return !is_public() && !is_private() && !is_protected(); }
98
99 bool is_static() const { return access_flags().is_static(); }
100 bool is_final() const { return access_flags().is_final(); }
101 bool is_volatile() const { return access_flags().is_volatile(); }
102 bool is_transient() const { return access_flags().is_transient(); }
103
104 bool is_synthetic() const { return access_flags().is_synthetic(); }
105
106 bool is_field_access_watched() const { return access_flags().is_field_access_watched(); }
107 bool is_field_modification_watched() const
108 { return access_flags().is_field_modification_watched(); }
109 bool has_initialized_final_update() const { return access_flags().has_field_initialized_final_update(); }
110 bool has_generic_signature() const { return access_flags().field_has_generic_signature(); }
111
112 void set_is_field_access_watched(const bool value) {
113 _access_flags.set_is_field_access_watched(value);
114 update_klass_field_access_flag();
115 }
116
117 void set_is_field_modification_watched(const bool value) {
118 _access_flags.set_is_field_modification_watched(value);
119 update_klass_field_access_flag();
120 }
|
81 bool has_initial_value() const { return field()->initval_index() != 0; }
82 int initial_value_index() const { return field()->initval_index(); }
83 constantTag initial_value_tag() const; // The tag will return true on one of is_int(), is_long(), is_single(), is_double()
84 jint int_initial_value() const;
85 jlong long_initial_value() const;
86 jfloat float_initial_value() const;
87 jdouble double_initial_value() const;
88 oop string_initial_value(TRAPS) const;
89
90 // Field signature type
91 BasicType field_type() const { return FieldType::basic_type(signature()); }
92
93 // Access flags
94 bool is_public() const { return access_flags().is_public(); }
95 bool is_private() const { return access_flags().is_private(); }
96 bool is_protected() const { return access_flags().is_protected(); }
97 bool is_package_private() const { return !is_public() && !is_private() && !is_protected(); }
98
99 bool is_static() const { return access_flags().is_static(); }
100 bool is_final() const { return access_flags().is_final(); }
101 bool is_stable() const { return access_flags().is_stable(); }
102 bool is_volatile() const { return access_flags().is_volatile(); }
103 bool is_transient() const { return access_flags().is_transient(); }
104
105 bool is_synthetic() const { return access_flags().is_synthetic(); }
106
107 bool is_field_access_watched() const { return access_flags().is_field_access_watched(); }
108 bool is_field_modification_watched() const
109 { return access_flags().is_field_modification_watched(); }
110 bool has_initialized_final_update() const { return access_flags().has_field_initialized_final_update(); }
111 bool has_generic_signature() const { return access_flags().field_has_generic_signature(); }
112
113 void set_is_field_access_watched(const bool value) {
114 _access_flags.set_is_field_access_watched(value);
115 update_klass_field_access_flag();
116 }
117
118 void set_is_field_modification_watched(const bool value) {
119 _access_flags.set_is_field_modification_watched(value);
120 update_klass_field_access_flag();
121 }
|