diff options
author | Jürg Billeter <j@bitron.ch> | 2010-08-12 00:32:50 +0200 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2010-08-12 14:40:15 +0200 |
commit | 664ebfd2edfae79da695252a3ba90658a5741f40 (patch) | |
tree | 97d43d14a7eb01f234652a9f2383a4f7eefc84ad /vala/valaexpression.vala | |
parent | b597659a5fd455a0167bbe954f2c46cd8e939199 (diff) | |
download | vala-664ebfd2edfae79da695252a3ba90658a5741f40.tar.gz |
Do not create array lists where not necessary
Diffstat (limited to 'vala/valaexpression.vala')
-rw-r--r-- | vala/valaexpression.vala | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/vala/valaexpression.vala b/vala/valaexpression.vala index afd54aa0c..23c01e291 100644 --- a/vala/valaexpression.vala +++ b/vala/valaexpression.vala @@ -61,9 +61,9 @@ public abstract class Vala.Expression : CodeNode { * * The code generator sets and uses them for memory management. */ - public ArrayList<LocalVariable> temp_vars = new ArrayList<LocalVariable> (); + public ArrayList<LocalVariable> temp_vars; - private List<CCodeExpression> array_sizes = new ArrayList<CCodeExpression> (); + private List<CCodeExpression> array_sizes; public CCodeExpression? delegate_target { get; set; } public CCodeExpression? delegate_target_destroy_notify { get; set; } @@ -89,10 +89,20 @@ public abstract class Vala.Expression : CodeNode { return false; } + public void add_temp_var (LocalVariable local) { + if (temp_vars == null) { + temp_vars = new ArrayList<LocalVariable> (); + } + temp_vars.add (local); + } + /** * Add an array size C code expression. */ public void append_array_size (CCodeExpression size) { + if (array_sizes == null) { + array_sizes = new ArrayList<CCodeExpression> (); + } array_sizes.add (size); } @@ -100,7 +110,7 @@ public abstract class Vala.Expression : CodeNode { * Get the C code expression for array sizes for all dimensions * ascending from left to right. */ - public List<CCodeExpression> get_array_sizes () { + public List<CCodeExpression>? get_array_sizes () { return array_sizes; } |