@@ -1084,7 +1084,7 @@ class CommonVisitor : public AST::BaseVisitor<StructType> {
10841084 ASR::symbol_t * variable_sym = ASR::down_cast<ASR::symbol_t >(variable_asr);
10851085 current_scope->add_symbol (dummy_ret_name, variable_sym);
10861086 ASR::expr_t * variable_var = ASRUtils::EXPR (ASR::make_Var_t (al, expr->base .loc , variable_sym));
1087- return ASR::make_Assignment_t (al, expr->base .loc , variable_var, expr, nullptr , false );
1087+ return ASRUtils::make_Assignment_t_util (al, expr->base .loc , variable_var, expr, nullptr , false , false );
10881088 }
10891089
10901090 // Function to create appropriate call based on symbol type. If it is external
@@ -2609,8 +2609,8 @@ class CommonVisitor : public AST::BaseVisitor<StructType> {
26092609 is_runtime_expression) && !is_variable_const) {
26102610 ASR::expr_t * v_expr = ASRUtils::EXPR (ASR::make_Var_t (al, loc, v_sym));
26112611 cast_helper (v_expr, init_expr, true );
2612- ASR::asr_t * assign = ASR::make_Assignment_t (al, loc, v_expr,
2613- init_expr, nullptr , false );
2612+ ASR::asr_t * assign = ASRUtils::make_Assignment_t_util (al, loc, v_expr,
2613+ init_expr, nullptr , false , false );
26142614 if (current_body) {
26152615 current_body->push_back (al, ASRUtils::STMT (assign));
26162616 } else if (ASR::is_a<ASR::List_t>(*type) || is_runtime_expression) {
@@ -2705,7 +2705,7 @@ class CommonVisitor : public AST::BaseVisitor<StructType> {
27052705 dims.push_back (al, dim);
27062706 ASR::ttype_t * type = ASRUtils::make_Array_t_util (al, loc,
27072707 ASRUtils::expr_type (lbs[0 ]), dims.p , dims.size (), ASR::abiType::Source,
2708- false , ASR::array_physical_typeType::PointerToDataArray , true );
2708+ false , ASR::array_physical_typeType::PointerArray , true );
27092709 return ASRUtils::EXPR (ASRUtils::make_ArrayConstructor_t_util (al,
27102710 loc, lbs.p , lbs.size (), type,
27112711 ASR::arraystorageType::RowMajor));
@@ -5339,7 +5339,7 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
53395339 ASR::symbol_t * call_sym = get_struct_member (parent_sym,call_name,loc);
53405340 super_call_stmt = ASRUtils::STMT (
53415341 ASR::make_SubroutineCall_t (al, loc, call_sym, call_sym, args_w_first.p ,
5342- args_w_first.size (), nullptr ));
5342+ args_w_first.size (), nullptr , true ));
53435343 }
53445344 } else {
53455345 body.push_back (al, x.m_body [i]);
@@ -5721,8 +5721,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
57215721 x.base .base .loc );
57225722 }
57235723 tmp = nullptr ;
5724- tmp_vec.push_back (ASR::make_Assignment_t (al, x.base .base .loc , target,
5725- tmp_value, nullptr , false ));
5724+ tmp_vec.push_back (ASRUtils::make_Assignment_t_util (al, x.base .base .loc , target,
5725+ tmp_value, nullptr , false , false ));
57265726 continue ;
57275727 }
57285728 if ( ASRUtils::is_const (target) ) {
@@ -5763,8 +5763,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
57635763 throw SemanticError (" Only Class constructor is allowed in the object assignment for now" , target->base .loc );
57645764 }
57655765 }
5766- tmp_vec.push_back (ASR::make_Assignment_t (al, x.base .base .loc , target, tmp_value,
5767- overloaded, false ));
5766+ tmp_vec.push_back (ASRUtils::make_Assignment_t_util (al, x.base .base .loc , target, tmp_value,
5767+ overloaded, false , false ));
57685768 if ( target->type == ASR::exprType::Var &&
57695769 tmp_value->type == ASR::exprType::StructConstructor ) {
57705770 AST::Call_t* call = AST::down_cast<AST::Call_t>(x.m_value );
@@ -6057,9 +6057,9 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
60576057 current_scope->add_symbol (tmp_assign_name, tmp_assign_variable_sym);
60586058
60596059 // Assign the Subscript expr to temporary variable
6060- ASR::asr_t * assign = ASR::make_Assignment_t (al, x.base .base .loc ,
6060+ ASR::asr_t * assign = ASRUtils::make_Assignment_t_util (al, x.base .base .loc ,
60616061 ASRUtils::EXPR (ASR::make_Var_t (al, x.base .base .loc , tmp_assign_variable_sym)),
6062- target, nullptr , false );
6062+ target, nullptr , false , false );
60636063 if (current_body != nullptr ) {
60646064 current_body->push_back (al, ASRUtils::STMT (assign));
60656065 } else {
@@ -6095,9 +6095,9 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
60956095 current_scope->add_symbol (tmp_assign_name, tmp_assign_variable_sym);
60966096
60976097 // Assign the List expr to temporary variable
6098- ASR::asr_t * assign = ASR::make_Assignment_t (al, x.base .base .loc ,
6098+ ASR::asr_t * assign = ASRUtils::make_Assignment_t_util (al, x.base .base .loc ,
60996099 ASRUtils::EXPR (ASR::make_Var_t (al, x.base .base .loc , tmp_assign_variable_sym)),
6100- target, nullptr , false );
6100+ target, nullptr , false , false );
61016101 if (current_body != nullptr ) {
61026102 current_body->push_back (al, ASRUtils::STMT (assign));
61036103 } else {
@@ -6150,7 +6150,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
61506150 al, x.base .base .loc , loop_src_var,
61516151 ASRUtils::EXPR (explicit_iter_var), ASRUtils::get_contained_type (loop_src_var_ttype), nullptr );
61526152 }
6153- auto loop_target_assignment = ASR::make_Assignment_t (al, x.base .base .loc , target, ASRUtils::EXPR (loop_src_var_element), nullptr , false );
6153+ auto loop_target_assignment = ASRUtils::make_Assignment_t_util (al, x.base .base .loc , target,
6154+ ASRUtils::EXPR (loop_src_var_element), nullptr , false , false );
61546155 body.push_back (al, ASRUtils::STMT (loop_target_assignment));
61556156
61566157 head.m_v = ASRUtils::EXPR (explicit_iter_var);
@@ -6275,7 +6276,7 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
62756276
62766277 ASR::stmt_t * a_overloaded = nullptr ;
62776278 ASR::expr_t *tmp2 = ASR::down_cast<ASR::expr_t >(tmp);
6278- tmp = ASR::make_Assignment_t (al, x.base .base .loc , left, tmp2, a_overloaded, false );
6279+ tmp = ASRUtils::make_Assignment_t_util (al, x.base .base .loc , left, tmp2, a_overloaded, false , false );
62796280
62806281 }
62816282
@@ -7259,8 +7260,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
72597260 }
72607261 cast_helper (target, value, true );
72617262 ASR::stmt_t *overloaded=nullptr ;
7262- tmp = ASR::make_Assignment_t (al, x.base .base .loc , target, value,
7263- overloaded, false );
7263+ tmp = ASRUtils::make_Assignment_t_util (al, x.base .base .loc , target, value,
7264+ overloaded, false , false );
72647265 // if( ASR::is_a<ASR::Const_t>(*ASRUtils::symbol_type(return_var)) ) {
72657266 // ASR::Variable_t* return_variable = ASR::down_cast<ASR::Variable_t>(return_var);
72667267 // return_variable->m_symbolic_value = value;
@@ -7361,8 +7362,8 @@ class BodyVisitor : public CommonVisitor<BodyVisitor> {
73617362 ASR::expr_t * cptr = ASRUtils::EXPR (tmp);
73627363 ASR::asr_t * pp = ASR::make_PointerToCPtr_t (al, x.base .base .loc , pptr,
73637364 ASRUtils::expr_type (cptr), nullptr );
7364- return ASR::make_Assignment_t (al, x.base .base .loc ,
7365- cptr, ASR::down_cast<ASR::expr_t >(pp), nullptr , false );
7365+ return ASRUtils::make_Assignment_t_util (al, x.base .base .loc ,
7366+ cptr, ASR::down_cast<ASR::expr_t >(pp), nullptr , false , false );
73667367 }
73677368
73687369 void handle_string_attributes (ASR::expr_t *s_var,
@@ -8911,7 +8912,7 @@ we will have to use something else.
89118912 make_Integer_t, 0 , 4 , dim.loc );
89128913 dims.push_back (al, dim);
89138914 type = ASRUtils::make_Array_t_util (al, x.base .base .loc , type, dims.p , dims.size (),
8914- ASR::abiType::Source, false , ASR::array_physical_typeType::PointerToDataArray , true );
8915+ ASR::abiType::Source, false , ASR::array_physical_typeType::PointerArray , true );
89158916 for ( size_t i = 0 ; i < n_args; i++ ) {
89168917 m_args[i] = CastingUtil::perform_casting (m_args[i], ASRUtils::type_get_past_array (type),
89178918 al, x.base .base .loc );
0 commit comments