399 /*************************************/ |
399 /*************************************/ |
400 |
400 |
401 // SYM_REF2(structured_variable_c, record_variable, field_selector) |
401 // SYM_REF2(structured_variable_c, record_variable, field_selector) |
402 void *visit(structured_variable_c *symbol) { |
402 void *visit(structured_variable_c *symbol) { |
403 TRACE("structured_variable_c"); |
403 TRACE("structured_variable_c"); |
|
404 bool type_is_complex = search_var_instance_decl->type_is_complex(symbol->record_variable); |
404 if (generating_inlinefunction) { |
405 if (generating_inlinefunction) { |
405 switch (wanted_variablegeneration) { |
406 switch (wanted_variablegeneration) { |
406 case complextype_base_vg: |
407 case complextype_base_vg: |
407 symbol->record_variable->accept(*this); |
408 symbol->record_variable->accept(*this); |
|
409 if (!type_is_complex) { |
|
410 s4o.print("."); |
|
411 symbol->field_selector->accept(*this); |
|
412 } |
408 break; |
413 break; |
409 case complextype_suffix_vg: |
414 case complextype_suffix_vg: |
410 symbol->record_variable->accept(*this); |
415 symbol->record_variable->accept(*this); |
411 s4o.print("."); |
416 if (type_is_complex) { |
412 symbol->field_selector->accept(*this); |
417 s4o.print("."); |
|
418 symbol->field_selector->accept(*this); |
|
419 } |
413 break; |
420 break; |
414 default: |
421 default: |
415 print_getter(symbol); |
422 print_getter(symbol); |
416 break; |
423 break; |
417 } |
424 } |