field_ctype = "volatile " + field_ctype;
}
- if (f.binding == MemberBinding.INSTANCE && f.access == SymbolAccessibility.PRIVATE) {
- generate_type_declaration (f.field_type, decl_space);
-
- instance_priv_struct.add_field (field_ctype, f.get_cname ());
- if (f.field_type is ArrayType && !f.no_array_length) {
- // create fields to store array dimensions
- var array_type = (ArrayType) f.field_type;
- var len_type = int_type.copy ();
-
- for (int dim = 1; dim <= array_type.rank; dim++) {
- instance_priv_struct.add_field (len_type.get_cname (), head.get_array_length_cname (f.name, dim));
- }
+ if (f.binding == MemberBinding.INSTANCE) {
+ if (f.access == SymbolAccessibility.PRIVATE) {
+ generate_type_declaration (f.field_type, decl_space);
+
+ instance_priv_struct.add_field (field_ctype, f.get_cname ());
+ if (f.field_type is ArrayType && !f.no_array_length) {
+ // create fields to store array dimensions
+ var array_type = (ArrayType) f.field_type;
+ var len_type = int_type.copy ();
+
+ for (int dim = 1; dim <= array_type.rank; dim++) {
+ instance_priv_struct.add_field (len_type.get_cname (), head.get_array_length_cname (f.name, dim));
+ }
- if (array_type.rank == 1 && f.is_internal_symbol ()) {
- instance_priv_struct.add_field (len_type.get_cname (), head.get_array_size_cname (f.name));
- }
- } else if (f.field_type is DelegateType) {
- var delegate_type = (DelegateType) f.field_type;
- if (delegate_type.delegate_symbol.has_target) {
- // create field to store delegate target
- instance_priv_struct.add_field ("gpointer", get_delegate_target_cname (f.name));
+ if (array_type.rank == 1 && f.is_internal_symbol ()) {
+ instance_priv_struct.add_field (len_type.get_cname (), head.get_array_size_cname (f.name));
+ }
+ } else if (f.field_type is DelegateType) {
+ var delegate_type = (DelegateType) f.field_type;
+ if (delegate_type.delegate_symbol.has_target) {
+ // create field to store delegate target
+ instance_priv_struct.add_field ("gpointer", get_delegate_target_cname (f.name));
+ }
}
}