@@ -414,8 +414,8 @@ void set_intrinsic(ASR::symbol_t* sym) {
414
414
func_sym_type->m_abi = ASR::abiType::Intrinsic;
415
415
break ;
416
416
}
417
- case ASR::symbolType::StructType : {
418
- ASR::StructType_t * derived_type_sym = ASR::down_cast<ASR::StructType_t >(sym);
417
+ case ASR::symbolType::Struct : {
418
+ ASR::Struct_t * derived_type_sym = ASR::down_cast<ASR::Struct_t >(sym);
419
419
derived_type_sym->m_abi = ASR::abiType::Intrinsic;
420
420
break ;
421
421
}
@@ -467,8 +467,8 @@ ASR::asr_t* getStructInstanceMember_t(Allocator& al, const Location& loc,
467
467
ASR::asr_t * v_var, ASR::symbol_t *v,
468
468
ASR::symbol_t * member, SymbolTable* current_scope) {
469
469
member = ASRUtils::symbol_get_past_external (member);
470
- if (ASR::is_a<ASR::StructType_t >(*member)) {
471
- ASR::StructType_t * member_variable = ASR::down_cast<ASR::StructType_t >(member);
470
+ if (ASR::is_a<ASR::Struct_t >(*member)) {
471
+ ASR::Struct_t * member_variable = ASR::down_cast<ASR::Struct_t >(member);
472
472
ASR::symbol_t *mem_es = nullptr ;
473
473
std::string mem_name = " 1_" + std::string (ASRUtils::symbol_name (member));
474
474
if (current_scope->resolve_symbol (mem_name)) {
@@ -480,7 +480,7 @@ ASR::asr_t* getStructInstanceMember_t(Allocator& al, const Location& loc,
480
480
nullptr , 0 , member_variable->m_name , ASR::accessType::Public));
481
481
current_scope->add_symbol (mem_name, mem_es);
482
482
}
483
- ASR::ttype_t * member_type = ASRUtils::TYPE (ASR::make_Struct_t (al,
483
+ ASR::ttype_t * member_type = ASRUtils::TYPE (ASR::make_StructType_t (al,
484
484
member_variable->base .base .loc , mem_es));
485
485
return ASR::make_StructInstanceMember_t (al, loc, ASRUtils::EXPR (v_var),
486
486
mem_es, ASRUtils::fix_scoped_type (al, member_type, current_scope), nullptr );
@@ -493,8 +493,8 @@ ASR::asr_t* getStructInstanceMember_t(Allocator& al, const Location& loc,
493
493
ASR::dimension_t * m_dims = nullptr ;
494
494
size_t n_dims = ASRUtils::extract_dimensions_from_ttype (member_type, m_dims);
495
495
switch ( member_type_->type ) {
496
- case ASR::ttypeType::Struct : {
497
- ASR::Struct_t * der = ASR::down_cast<ASR::Struct_t >(member_type_);
496
+ case ASR::ttypeType::StructType : {
497
+ ASR::StructType_t * der = ASR::down_cast<ASR::StructType_t >(member_type_);
498
498
std::string der_type_name = ASRUtils::symbol_name (der->m_derived_type );
499
499
ASR::symbol_t * der_type_sym = current_scope->resolve_symbol (der_type_name);
500
500
if ( der_type_sym == nullptr ) {
@@ -505,9 +505,9 @@ ASR::asr_t* getStructInstanceMember_t(Allocator& al, const Location& loc,
505
505
ASR::ExternalSymbol_t* m_ext = ASR::down_cast<ASR::ExternalSymbol_t>(m_external);
506
506
m_external = m_ext->m_external ;
507
507
module_name = m_ext->m_module_name ;
508
- } else if ( ASR::is_a<ASR::StructType_t >(*m_external) ) {
508
+ } else if ( ASR::is_a<ASR::Struct_t >(*m_external) ) {
509
509
ASR::symbol_t * asr_owner = ASRUtils::get_asr_owner (m_external);
510
- if ( ASR::is_a<ASR::StructType_t >(*asr_owner) ||
510
+ if ( ASR::is_a<ASR::Struct_t >(*asr_owner) ||
511
511
ASR::is_a<ASR::Module_t>(*asr_owner) ) {
512
512
module_name = ASRUtils::symbol_name (asr_owner);
513
513
}
@@ -543,10 +543,10 @@ ASR::asr_t* getStructInstanceMember_t(Allocator& al, const Location& loc,
543
543
} else {
544
544
der_ext = current_scope->get_symbol (mangled_name);
545
545
}
546
- ASR::asr_t * der_new = ASR::make_Struct_t (al, loc, der_ext);
546
+ ASR::asr_t * der_new = ASR::make_StructType_t (al, loc, der_ext);
547
547
member_type_ = ASRUtils::TYPE (der_new);
548
548
} else if (ASR::is_a<ASR::ExternalSymbol_t>(*der_type_sym)) {
549
- member_type_ = ASRUtils::TYPE (ASR::make_Struct_t (al, loc, der_type_sym));
549
+ member_type_ = ASRUtils::TYPE (ASR::make_StructType_t (al, loc, der_type_sym));
550
550
}
551
551
member_type = ASRUtils::make_Array_t_util (al, loc,
552
552
member_type_, m_dims, n_dims);
@@ -586,13 +586,13 @@ bool use_overloaded(ASR::expr_t* left, ASR::expr_t* right,
586
586
const std::function<void (const std::string &, const Location &)> err) {
587
587
ASR::ttype_t *left_type = ASRUtils::expr_type (left);
588
588
ASR::ttype_t *right_type = ASRUtils::expr_type (right);
589
- ASR::StructType_t *left_struct = nullptr ;
590
- if ( ASR::is_a<ASR::Struct_t >(*left_type) ) {
591
- left_struct = ASR::down_cast<ASR::StructType_t >(
592
- ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::Struct_t >(
589
+ ASR::Struct_t *left_struct = nullptr ;
590
+ if ( ASR::is_a<ASR::StructType_t >(*left_type) ) {
591
+ left_struct = ASR::down_cast<ASR::Struct_t >(
592
+ ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::StructType_t >(
593
593
left_type)->m_derived_type ));
594
594
} else if ( ASR::is_a<ASR::Class_t>(*left_type) ) {
595
- left_struct = ASR::down_cast<ASR::StructType_t >(
595
+ left_struct = ASR::down_cast<ASR::Struct_t >(
596
596
ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::Class_t>(
597
597
left_type)->m_class_type ));
598
598
}
@@ -666,8 +666,8 @@ bool use_overloaded(ASR::expr_t* left, ASR::expr_t* right,
666
666
ASR::dimension_t * m_dims = nullptr ;
667
667
size_t n_dims = ASRUtils::extract_dimensions_from_ttype (return_type, m_dims);
668
668
return_type = ASRUtils::type_get_past_array (return_type);
669
- if ( ASR::is_a<ASR::Struct_t >(*return_type) ) {
670
- ASR::Struct_t * struct_t = ASR::down_cast<ASR::Struct_t >(return_type);
669
+ if ( ASR::is_a<ASR::StructType_t >(*return_type) ) {
670
+ ASR::StructType_t * struct_t = ASR::down_cast<ASR::StructType_t >(return_type);
671
671
if ( curr_scope->get_counter () !=
672
672
ASRUtils::symbol_parent_symtab (struct_t ->m_derived_type )->get_counter () &&
673
673
!curr_scope->resolve_symbol (ASRUtils::symbol_name (struct_t ->m_derived_type )) ) {
@@ -677,7 +677,7 @@ bool use_overloaded(ASR::expr_t* left, ASR::expr_t* right,
677
677
ASRUtils::symbol_name (ASRUtils::get_asr_owner (struct_t ->m_derived_type )), nullptr , 0 ,
678
678
ASRUtils::symbol_name (struct_t ->m_derived_type ), ASR::accessType::Public)));
679
679
}
680
- return_type = ASRUtils::TYPE (ASR::make_Struct_t (al, loc,
680
+ return_type = ASRUtils::TYPE (ASR::make_StructType_t (al, loc,
681
681
curr_scope->resolve_symbol (ASRUtils::symbol_name (struct_t ->m_derived_type ))));
682
682
if ( is_array ) {
683
683
return_type = ASRUtils::make_Array_t_util (al, loc, return_type, m_dims, n_dims);
@@ -757,8 +757,8 @@ void process_overloaded_unary_minus_function(ASR::symbol_t* proc, ASR::expr_t* o
757
757
ASR::dimension_t * m_dims = nullptr ;
758
758
size_t n_dims = ASRUtils::extract_dimensions_from_ttype (return_type, m_dims);
759
759
return_type = ASRUtils::type_get_past_array (return_type);
760
- if ( ASR::is_a<ASR::Struct_t >(*return_type) ) {
761
- ASR::Struct_t * struct_t = ASR::down_cast<ASR::Struct_t >(return_type);
760
+ if ( ASR::is_a<ASR::StructType_t >(*return_type) ) {
761
+ ASR::StructType_t * struct_t = ASR::down_cast<ASR::StructType_t >(return_type);
762
762
if ( curr_scope->get_counter () !=
763
763
ASRUtils::symbol_parent_symtab (struct_t ->m_derived_type )->get_counter () &&
764
764
!curr_scope->resolve_symbol (ASRUtils::symbol_name (struct_t ->m_derived_type )) ) {
@@ -768,7 +768,7 @@ void process_overloaded_unary_minus_function(ASR::symbol_t* proc, ASR::expr_t* o
768
768
ASRUtils::symbol_name (ASRUtils::get_asr_owner (struct_t ->m_derived_type )), nullptr , 0 ,
769
769
ASRUtils::symbol_name (struct_t ->m_derived_type ), ASR::accessType::Public)));
770
770
}
771
- return_type = ASRUtils::TYPE (ASR::make_Struct_t (al, loc,
771
+ return_type = ASRUtils::TYPE (ASR::make_StructType_t (al, loc,
772
772
curr_scope->resolve_symbol (ASRUtils::symbol_name (struct_t ->m_derived_type ))));
773
773
if ( is_array ) {
774
774
return_type = ASRUtils::make_Array_t_util (
@@ -797,14 +797,14 @@ bool use_overloaded_unary_minus(ASR::expr_t* operand,
797
797
ASR::ttype_t *operand_type = ASRUtils::expr_type (operand);
798
798
ASR::symbol_t * sym = curr_scope->resolve_symbol (" ~sub" );
799
799
if ( !sym ) {
800
- if ( ASR::is_a<ASR::Struct_t >(*operand_type) ) {
801
- ASR::Struct_t * struct_t = ASR::down_cast<ASR::Struct_t >(operand_type);
800
+ if ( ASR::is_a<ASR::StructType_t >(*operand_type) ) {
801
+ ASR::StructType_t * struct_t = ASR::down_cast<ASR::StructType_t >(operand_type);
802
802
ASR::symbol_t * struct_t_sym = ASRUtils::symbol_get_past_external (struct_t ->m_derived_type );
803
- if ( ASR::is_a<ASR::StructType_t >(*struct_t_sym) ) {
804
- ASR::StructType_t * struct_type_t = ASR::down_cast<ASR::StructType_t >(struct_t_sym);
803
+ if ( ASR::is_a<ASR::Struct_t >(*struct_t_sym) ) {
804
+ ASR::Struct_t * struct_type_t = ASR::down_cast<ASR::Struct_t >(struct_t_sym);
805
805
sym = struct_type_t ->m_symtab ->resolve_symbol (" ~sub" );
806
806
while ( sym == nullptr && struct_type_t ->m_parent != nullptr ) {
807
- struct_type_t = ASR::down_cast<ASR::StructType_t >(
807
+ struct_type_t = ASR::down_cast<ASR::Struct_t >(
808
808
ASRUtils::symbol_get_past_external (struct_type_t ->m_parent ));
809
809
sym = struct_type_t ->m_symtab ->resolve_symbol (" ~sub" );
810
810
}
@@ -850,7 +850,7 @@ bool use_overloaded_unary_minus(ASR::expr_t* operand,
850
850
}
851
851
852
852
bool is_op_overloaded (ASR::binopType op, std::string& intrinsic_op_name,
853
- SymbolTable* curr_scope, ASR::StructType_t * left_struct) {
853
+ SymbolTable* curr_scope, ASR::Struct_t * left_struct) {
854
854
bool result = true ;
855
855
switch (op) {
856
856
case ASR::binopType::Add: {
@@ -972,14 +972,14 @@ bool use_overloaded_assignment(ASR::expr_t* target, ASR::expr_t* value,
972
972
ASR::symbol_t * sym = curr_scope->resolve_symbol (" ~assign" );
973
973
ASR::expr_t * expr_dt = nullptr ;
974
974
if ( !sym ) {
975
- if ( ASR::is_a<ASR::Struct_t >(*target_type) ) {
976
- ASR::StructType_t * target_struct = ASR::down_cast<ASR::StructType_t >(
977
- ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::Struct_t >(target_type)->m_derived_type ));
975
+ if ( ASR::is_a<ASR::StructType_t >(*target_type) ) {
976
+ ASR::Struct_t * target_struct = ASR::down_cast<ASR::Struct_t >(
977
+ ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::StructType_t >(target_type)->m_derived_type ));
978
978
sym = target_struct->m_symtab ->resolve_symbol (" ~assign" );
979
979
expr_dt = target;
980
- } else if ( ASR::is_a<ASR::Struct_t >(*value_type) ) {
981
- ASR::StructType_t * value_struct = ASR::down_cast<ASR::StructType_t >(
982
- ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::Struct_t >(value_type)->m_derived_type ));
980
+ } else if ( ASR::is_a<ASR::StructType_t >(*value_type) ) {
981
+ ASR::Struct_t * value_struct = ASR::down_cast<ASR::Struct_t >(
982
+ ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::StructType_t >(value_type)->m_derived_type ));
983
983
sym = value_struct->m_symtab ->resolve_symbol (" ~assign" );
984
984
expr_dt = value;
985
985
}
@@ -1074,9 +1074,9 @@ bool use_overloaded_file_read_write(std::string &read_write, Vec<ASR::expr_t*> a
1074
1074
ASR::symbol_t * sym = curr_scope->resolve_symbol (read_write);
1075
1075
ASR::expr_t * expr_dt = nullptr ;
1076
1076
if ( sym == nullptr ) {
1077
- if ( ASR::is_a<ASR::Struct_t >(*arg_type) ) {
1078
- ASR::StructType_t * arg_struct = ASR::down_cast<ASR::StructType_t >(
1079
- ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::Struct_t >(arg_type)->m_derived_type ));
1077
+ if ( ASR::is_a<ASR::StructType_t >(*arg_type) ) {
1078
+ ASR::Struct_t * arg_struct = ASR::down_cast<ASR::Struct_t >(
1079
+ ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::StructType_t >(arg_type)->m_derived_type ));
1080
1080
sym = arg_struct->m_symtab ->resolve_symbol (read_write);
1081
1081
expr_dt = args[0 ];
1082
1082
}
@@ -1120,13 +1120,13 @@ bool use_overloaded(ASR::expr_t* left, ASR::expr_t* right,
1120
1120
const std::function<void (const std::string &, const Location &)> err) {
1121
1121
ASR::ttype_t *left_type = ASRUtils::expr_type (left);
1122
1122
ASR::ttype_t *right_type = ASRUtils::expr_type (right);
1123
- ASR::StructType_t *left_struct = nullptr ;
1124
- if ( ASR::is_a<ASR::Struct_t >(*left_type) ) {
1125
- left_struct = ASR::down_cast<ASR::StructType_t >(
1126
- ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::Struct_t >(
1123
+ ASR::Struct_t *left_struct = nullptr ;
1124
+ if ( ASR::is_a<ASR::StructType_t >(*left_type) ) {
1125
+ left_struct = ASR::down_cast<ASR::Struct_t >(
1126
+ ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::StructType_t >(
1127
1127
left_type)->m_derived_type ));
1128
1128
} else if ( ASR::is_a<ASR::Class_t>(*left_type) ) {
1129
- left_struct = ASR::down_cast<ASR::StructType_t >(
1129
+ left_struct = ASR::down_cast<ASR::Struct_t >(
1130
1130
ASRUtils::symbol_get_past_external (ASR::down_cast<ASR::Class_t>(
1131
1131
left_type)->m_class_type ));
1132
1132
}
@@ -1157,9 +1157,9 @@ bool use_overloaded(ASR::expr_t* left, ASR::expr_t* right,
1157
1157
if ( (left_arg_type->type == left_type->type &&
1158
1158
right_arg_type->type == right_type->type )
1159
1159
|| (ASR::is_a<ASR::Class_t>(*left_arg_type) &&
1160
- ASR::is_a<ASR::Struct_t >(*left_type))
1160
+ ASR::is_a<ASR::StructType_t >(*left_type))
1161
1161
|| (ASR::is_a<ASR::Class_t>(*right_arg_type) &&
1162
- ASR::is_a<ASR::Struct_t >(*right_type))) {
1162
+ ASR::is_a<ASR::StructType_t >(*right_type))) {
1163
1163
found = true ;
1164
1164
Vec<ASR::call_arg_t > a_args;
1165
1165
a_args.reserve (al, 2 );
@@ -1218,7 +1218,7 @@ bool use_overloaded(ASR::expr_t* left, ASR::expr_t* right,
1218
1218
}
1219
1219
1220
1220
bool is_op_overloaded (ASR::cmpopType op, std::string& intrinsic_op_name,
1221
- SymbolTable* curr_scope, ASR::StructType_t *left_struct) {
1221
+ SymbolTable* curr_scope, ASR::Struct_t *left_struct) {
1222
1222
bool result = true ;
1223
1223
switch (op) {
1224
1224
case ASR::cmpopType::Eq: {
0 commit comments