diff options
author | Luca Bruno <lucabru@src.gnome.org> | 2011-05-04 10:46:36 +0200 |
---|---|---|
committer | Luca Bruno <lucabru@src.gnome.org> | 2011-05-04 11:02:11 +0200 |
commit | 29dee9bb21c46011446aeb8ed9006a97c19174b4 (patch) | |
tree | d5b7172cdfc53b1c7cd3f8a5a686289ce84ce5e1 /codegen/valaccodememberaccessmodule.vala | |
parent | 850dd1fccaae4c56a6b979ef4783a088ab3f438b (diff) | |
download | vala-29dee9bb21c46011446aeb8ed9006a97c19174b4.tar.gz |
codegen: Add array_length_cexpr in GLibValue
Diffstat (limited to 'codegen/valaccodememberaccessmodule.vala')
-rw-r--r-- | codegen/valaccodememberaccessmodule.vala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala index 6c50e0f5a..fb8ed3529 100644 --- a/codegen/valaccodememberaccessmodule.vala +++ b/codegen/valaccodememberaccessmodule.vala @@ -340,7 +340,6 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule { /* Returns lvalue access to the given local variable */ public override TargetValue get_local_cvalue (LocalVariable local) { var result = new GLibValue (local.variable_type.copy ()); - result.array_null_terminated = local.array_null_terminated; var array_type = local.variable_type as ArrayType; var delegate_type = local.variable_type as DelegateType; @@ -396,6 +395,9 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule { public override TargetValue get_parameter_cvalue (Parameter param) { var result = new GLibValue (param.variable_type.copy ()); result.array_null_terminated = param.array_null_terminated; + if (param.has_array_length_cexpr) { + result.array_length_cexpr = new CCodeConstant (param.get_array_length_cexpr ()); + } if (param.captured || is_in_coroutine ()) { result.value_type.value_owned = true; } @@ -506,6 +508,9 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule { var result = new GLibValue (value_type); result.array_null_terminated = field.array_null_terminated; + if (field.has_array_length_cexpr) { + result.array_length_cexpr = new CCodeConstant (field.get_array_length_cexpr ()); + } var array_type = result.value_type as ArrayType; var delegate_type = result.value_type as DelegateType; |