diff options
Diffstat (limited to 'vala/valaunaryexpression.vala')
-rw-r--r-- | vala/valaunaryexpression.vala | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/vala/valaunaryexpression.vala b/vala/valaunaryexpression.vala index d2d38ddd5..8a6c9ed35 100644 --- a/vala/valaunaryexpression.vala +++ b/vala/valaunaryexpression.vala @@ -178,7 +178,14 @@ public class Vala.UnaryExpression : Expression { return false; } - value_type = inner.value_type; + var bool_type = inner.value_type as BooleanType; + if (bool_type.value_set) { + bool_type = (BooleanType) bool_type.copy (); + bool_type.value = !bool_type.value; + value_type = bool_type; + } else { + value_type = inner.value_type; + } } else if (operator == UnaryOperator.BITWISE_COMPLEMENT) { // integer type if (!is_integer_type (inner.value_type) && !(inner.value_type is EnumValueType)) { |