autofree: a small simplification
							parent
							
								
									f074d766e5
								
							
						
					
					
						commit
						9149d8ecb5
					
				|  | @ -538,7 +538,7 @@ fn (mut g Gen) fn_call(node ast.CallExpr) { | |||
| 	// like `foo(get_string())` or `foo(a + b)`
 | ||||
| 	mut free_tmp_arg_vars := g.autofree && g.pref.experimental && !g.is_builtin_mod && | ||||
| 		node.args.len > 0 && !node.args[0].typ.has_flag(.optional) // TODO copy pasta checker.v
 | ||||
| 	mut cur_line := '' | ||||
| 	// mut cur_line := ''
 | ||||
| 	if free_tmp_arg_vars { | ||||
| 		free_tmp_arg_vars = false // set the flag to true only if we have at least one arg to free
 | ||||
| 		g.tmp_count2++ | ||||
|  | @ -552,10 +552,10 @@ fn (mut g Gen) fn_call(node ast.CallExpr) { | |||
| 			t := '_tt${g.tmp_count2}_arg_expr_${fn_name}_$i' | ||||
| 			g.called_fn_name = name | ||||
| 			str_expr := g.write_expr_to_string(arg.expr) | ||||
| 			// g.insert_before_stmt('string $t = $str_expr; // new3. to free $i ')
 | ||||
| 			cur_line = g.go_before_stmt(0) | ||||
| 			g.insert_before_stmt('string $t = $str_expr; // new4. to free arg #$i name=$name') | ||||
| 			// cur_line = g.go_before_stmt(0)
 | ||||
| 			// println('cur line ="$cur_line"')
 | ||||
| 			g.writeln('string $t = $str_expr; // new3. to free arg #$i name=$name') | ||||
| 			// g.writeln('string $t = $str_expr; // new3. to free arg #$i name=$name')
 | ||||
| 			// Now free the tmp arg vars right after the function call
 | ||||
| 			g.strs_to_free << 'string_free(&$t);' | ||||
| 		} | ||||
|  | @ -623,10 +623,10 @@ fn (mut g Gen) fn_call(node ast.CallExpr) { | |||
| 		g.write(')') | ||||
| 	} else { | ||||
| 		// Simple function call
 | ||||
| 		if free_tmp_arg_vars { | ||||
| 		// if free_tmp_arg_vars {
 | ||||
| 		// g.writeln(';')
 | ||||
| 			g.write(cur_line + ' /* <== af cur line*/') | ||||
| 		} | ||||
| 		// g.write(cur_line + ' /* <== af cur line*/')
 | ||||
| 		// }
 | ||||
| 		g.write('${g.get_ternary_name(name)}(') | ||||
| 		if g.is_json_fn { | ||||
| 			g.write(json_obj) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue