[vala/staging: 4/4] Don't initilize local variable if not requested
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging: 4/4] Don't initilize local variable if not requested
- Date: Thu, 10 Nov 2016 09:51:55 +0000 (UTC)
commit b8dc0ad504cb4619262372d677d4df84d94b2ee8
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Thu Nov 10 10:44:11 2016 +0100
Don't initilize local variable if not requested
codegen/valaccodebasemodule.vala | 20 ++++++++++----------
vala/valalocalvariable.vala | 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 5e26c55..a95023c 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -2388,13 +2388,13 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
if (!array_type.fixed_length) {
for (int dim = 1; dim <= array_type.rank; dim++) {
var len_var = new LocalVariable (int_type.copy (),
get_array_length_cname (get_local_cname (local), dim));
- len_var.no_init = local.initializer != null;
+ len_var.init = local.initializer == null;
emit_temp_var (len_var);
}
if (array_type.rank == 1) {
var size_var = new LocalVariable (int_type.copy (),
get_array_size_cname (get_local_cname (local)));
- size_var.no_init = local.initializer != null;
+ size_var.init = local.initializer == null;
emit_temp_var (size_var);
}
}
@@ -2404,11 +2404,11 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
if (d.has_target) {
// create variable to store delegate target
var target_var = new LocalVariable (new PointerType (new VoidType
()), get_delegate_target_cname (get_local_cname (local)));
- target_var.no_init = local.initializer != null;
+ target_var.init = local.initializer == null;
emit_temp_var (target_var);
if (deleg_type.value_owned) {
var target_destroy_notify_var = new LocalVariable
(gdestroynotify_type, get_delegate_target_destroy_notify_cname (get_local_cname (local)));
- target_destroy_notify_var.no_init = local.initializer != null;
+ target_destroy_notify_var.init = local.initializer == null;
emit_temp_var (target_destroy_notify_var);
}
}
@@ -2435,7 +2435,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
*/
public TargetValue create_temp_value (DataType type, bool init, CodeNode node_reference, bool?
value_owned = null) {
var local = new LocalVariable (type.copy (), "_tmp%d_".printf (next_temp_var_id++), null,
node_reference.source_reference);
- local.no_init = !init;
+ local.init = init;
if (value_owned != null) {
local.variable_type.value_owned = value_owned;
}
@@ -2447,16 +2447,16 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
if (array_type != null) {
for (int dim = 1; dim <= array_type.rank; dim++) {
var len_var = new LocalVariable (int_type.copy (), get_array_length_cname
(local.name, dim), null, node_reference.source_reference);
- len_var.no_init = !init;
+ len_var.init = init;
emit_temp_var (len_var);
}
} else if (deleg_type != null && deleg_type.delegate_symbol.has_target) {
var target_var = new LocalVariable (new PointerType (new VoidType ()),
get_delegate_target_cname (local.name), null, node_reference.source_reference);
- target_var.no_init = !init;
+ target_var.init = init;
emit_temp_var (target_var);
if (deleg_type.value_owned) {
var target_destroy_notify_var = new LocalVariable (gdestroynotify_type.copy
(), get_delegate_target_destroy_notify_cname (local.name), null, node_reference.source_reference);
- target_destroy_notify_var.no_init = !init;
+ target_destroy_notify_var.init = init;
emit_temp_var (target_destroy_notify_var);
}
}
@@ -2568,7 +2568,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
var var_type = type.copy ();
var_type.value_owned = value_owned;
var local = new LocalVariable (var_type, "_tmp%d_".printf (next_temp_var_id));
- local.no_init = !init;
+ local.init = init;
if (node_reference != null) {
local.source_reference = node_reference.source_reference;
@@ -3465,7 +3465,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
}
public void emit_temp_var (LocalVariable local) {
- var init = !(local.name.has_prefix ("*") || local.no_init);
+ var init = (!local.name.has_prefix ("*") && local.init);
if (is_in_coroutine ()) {
closure_struct.add_field (get_ccode_name (local.variable_type), local.name);
diff --git a/vala/valalocalvariable.vala b/vala/valalocalvariable.vala
index db172e3..c113807 100644
--- a/vala/valalocalvariable.vala
+++ b/vala/valalocalvariable.vala
@@ -30,7 +30,7 @@ public class Vala.LocalVariable : Variable {
public bool captured { get; set; }
- public bool no_init { get; set; }
+ public bool init { get; set; }
/**
* Creates a new local variable.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]