@@ -1083,7 +1083,7 @@ class CommonVisitor : public AST::BaseVisitor<StructType> {
10831083 ASR::symbol_t * variable_sym = ASR::down_cast<ASR::symbol_t >(variable_asr);
10841084 current_scope->add_symbol (dummy_ret_name, variable_sym);
10851085 ASR::expr_t * variable_var = ASRUtils::EXPR (ASR::make_Var_t (al, expr->base .loc , variable_sym));
1086- return ASR::make_Assignment_t (al, expr->base .loc , variable_var, expr, nullptr , false );
1086+ return ASRUtils::make_Assignment_t_util (al, expr->base .loc , variable_var, expr, nullptr , false , false );
10871087 }
10881088
10891089 // Function to create appropriate call based on symbol type. If it is external
@@ -2608,8 +2608,8 @@ class CommonVisitor : public AST::BaseVisitor<StructType> {
26082608 is_runtime_expression) && !is_variable_const) {
26092609 ASR::expr_t * v_expr = ASRUtils::EXPR (ASR::make_Var_t (al, loc, v_sym));
26102610 cast_helper (v_expr, init_expr, true );
2611- ASR::asr_t * assign = ASR::make_Assignment_t (al, loc, v_expr,
2612- init_expr, nullptr , false );
2611+ ASR::asr_t * assign = ASRUtils::make_Assignment_t_util (al, loc, v_expr,
2612+ init_expr, nullptr , false , false );
26132613 if (current_body) {
26142614 current_body->push_back (al, ASRUtils::STMT (assign));
26152615 } else if (ASR::is_a<ASR::List_t>(*type) || is_runtime_expression) {
@@ -2704,7 +2704,7 @@ class CommonVisitor : public AST::BaseVisitor<StructType> {
27042704 dims.push_back (al, dim);
27052705 ASR::ttype_t * type = ASRUtils::make_Array_t_util (al, loc,
27062706 ASRUtils::expr_type (lbs[0 ]), dims.p , dims.size (), ASR::abiType::Source,
2707- false , ASR::array_physical_typeType::PointerToDataArray , true );
2707+ false , ASR::array_physical_typeType::PointerArray , true );
27082708 return ASRUtils::EXPR (ASRUtils::make_ArrayConstructor_t_util (al,
27092709 loc, lbs.p , lbs.size (), type,
27102710 ASR::arraystorageType::RowMajor));
@@ -5323,7 +5323,7 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
53235323 ASR::symbol_t * call_sym = get_struct_member (parent_sym,call_name,loc);
53245324 super_call_stmt = ASRUtils::STMT (
53255325 ASR::make_SubroutineCall_t (al, loc, call_sym, call_sym, args_w_first.p ,
5326- args_w_first.size (), nullptr ));
5326+ args_w_first.size (), nullptr , true ));
53275327 }
53285328 } else {
53295329 body.push_back (al, x.m_body [i]);
@@ -5717,8 +5717,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
57175717 x.base .base .loc );
57185718 }
57195719 tmp = nullptr ;
5720- tmp_vec.push_back (ASR::make_Assignment_t (al, x.base .base .loc , target,
5721- tmp_value, nullptr , false ));
5720+ tmp_vec.push_back (ASRUtils::make_Assignment_t_util (al, x.base .base .loc , target,
5721+ tmp_value, nullptr , false , false ));
57225722 continue ;
57235723 }
57245724 if ( ASRUtils::is_const (target) ) {
@@ -5759,8 +5759,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
57595759 throw SemanticError (" Only Class constructor is allowed in the object assignment for now" , target->base .loc );
57605760 }
57615761 }
5762- tmp_vec.push_back (ASR::make_Assignment_t (al, x.base .base .loc , target, tmp_value,
5763- overloaded, false ));
5762+ tmp_vec.push_back (ASRUtils::make_Assignment_t_util (al, x.base .base .loc , target, tmp_value,
5763+ overloaded, false , false ));
57645764 if ( target->type == ASR::exprType::Var &&
57655765 tmp_value->type == ASR::exprType::StructConstructor ) {
57665766 AST::Call_t* call = AST::down_cast<AST::Call_t>(x.m_value );
@@ -6053,9 +6053,9 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
60536053 current_scope->add_symbol (tmp_assign_name, tmp_assign_variable_sym);
60546054
60556055 // Assign the Subscript expr to temporary variable
6056- ASR::asr_t * assign = ASR::make_Assignment_t (al, x.base .base .loc ,
6056+ ASR::asr_t * assign = ASRUtils::make_Assignment_t_util (al, x.base .base .loc ,
60576057 ASRUtils::EXPR (ASR::make_Var_t (al, x.base .base .loc , tmp_assign_variable_sym)),
6058- target, nullptr , false );
6058+ target, nullptr , false , false );
60596059 if (current_body != nullptr ) {
60606060 current_body->push_back (al, ASRUtils::STMT (assign));
60616061 } else {
@@ -6091,9 +6091,9 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
60916091 current_scope->add_symbol (tmp_assign_name, tmp_assign_variable_sym);
60926092
60936093 // Assign the List expr to temporary variable
6094- ASR::asr_t * assign = ASR::make_Assignment_t (al, x.base .base .loc ,
6094+ ASR::asr_t * assign = ASRUtils::make_Assignment_t_util (al, x.base .base .loc ,
60956095 ASRUtils::EXPR (ASR::make_Var_t (al, x.base .base .loc , tmp_assign_variable_sym)),
6096- target, nullptr , false );
6096+ target, nullptr , false , false );
60976097 if (current_body != nullptr ) {
60986098 current_body->push_back (al, ASRUtils::STMT (assign));
60996099 } else {
@@ -6146,7 +6146,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
61466146 al, x.base .base .loc , loop_src_var,
61476147 ASRUtils::EXPR (explicit_iter_var), ASRUtils::get_contained_type (loop_src_var_ttype), nullptr );
61486148 }
6149- auto loop_target_assignment = ASR::make_Assignment_t (al, x.base .base .loc , target, ASRUtils::EXPR (loop_src_var_element), nullptr , false );
6149+ auto loop_target_assignment = ASRUtils::make_Assignment_t_util (al, x.base .base .loc , target,
6150+ ASRUtils::EXPR (loop_src_var_element), nullptr , false , false );
61506151 body.push_back (al, ASRUtils::STMT (loop_target_assignment));
61516152
61526153 head.m_v = ASRUtils::EXPR (explicit_iter_var);
@@ -6271,7 +6272,7 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
62716272
62726273 ASR::stmt_t * a_overloaded = nullptr ;
62736274 ASR::expr_t *tmp2 = ASR::down_cast<ASR::expr_t >(tmp);
6274- tmp = ASR::make_Assignment_t (al, x.base .base .loc , left, tmp2, a_overloaded, false );
6275+ tmp = ASRUtils::make_Assignment_t_util (al, x.base .base .loc , left, tmp2, a_overloaded, false , false );
62756276
62766277 }
62776278
@@ -7255,8 +7256,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
72557256 }
72567257 cast_helper (target, value, true );
72577258 ASR::stmt_t *overloaded=nullptr ;
7258- tmp = ASR::make_Assignment_t (al, x.base .base .loc , target, value,
7259- overloaded, false );
7259+ tmp = ASRUtils::make_Assignment_t_util (al, x.base .base .loc , target, value,
7260+ overloaded, false , false );
72607261 // if( ASR::is_a<ASR::Const_t>(*ASRUtils::symbol_type(return_var)) ) {
72617262 // ASR::Variable_t* return_variable = ASR::down_cast<ASR::Variable_t>(return_var);
72627263 // return_variable->m_symbolic_value = value;
@@ -7357,8 +7358,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
73577358 ASR::expr_t * cptr = ASRUtils::EXPR (tmp);
73587359 ASR::asr_t * pp = ASR::make_PointerToCPtr_t (al, x.base .base .loc , pptr,
73597360 ASRUtils::expr_type (cptr), nullptr );
7360- return ASR::make_Assignment_t (al, x.base .base .loc ,
7361- cptr, ASR::down_cast<ASR::expr_t >(pp), nullptr , false );
7361+ return ASRUtils::make_Assignment_t_util (al, x.base .base .loc ,
7362+ cptr, ASR::down_cast<ASR::expr_t >(pp), nullptr , false , false );
73627363 }
73637364
73647365 void handle_string_attributes (ASR::expr_t *s_var,
@@ -8907,7 +8908,7 @@ we will have to use something else.
89078908 make_Integer_t, 0 , 4 , dim.loc );
89088909 dims.push_back (al, dim);
89098910 type = ASRUtils::make_Array_t_util (al, x.base .base .loc , type, dims.p , dims.size (),
8910- ASR::abiType::Source, false , ASR::array_physical_typeType::PointerToDataArray , true );
8911+ ASR::abiType::Source, false , ASR::array_physical_typeType::PointerArray , true );
89118912 for ( size_t i = 0 ; i < n_args; i++ ) {
89128913 m_args[i] = CastingUtil::perform_casting (m_args[i], ASRUtils::type_get_past_array (type),
89138914 al, x.base .base .loc );
0 commit comments