]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Report error when trying to modify strings
authorJürg Billeter <j@bitron.ch>
Sun, 16 Aug 2009 21:24:43 +0000 (23:24 +0200)
committerJürg Billeter <j@bitron.ch>
Sun, 16 Aug 2009 21:24:43 +0000 (23:24 +0200)
Fixes bug 588038.

vala/valaassignment.vala

index af481989cfc0973b8a2f2a511bef0308e563d419..dccf13e1cd42a9b043c2cbd4d47ae58972a41570 100644 (file)
@@ -145,7 +145,11 @@ public class Vala.Assignment : Expression {
                } else if (left is ElementAccess) {
                        var ea = (ElementAccess) left;
 
-                       if (ea.container is MemberAccess && ea.container.symbol_reference is Signal) {
+                       if (ea.container.value_type.data_type == analyzer.string_type.data_type) {
+                               error = true;
+                               Report.error (ea.source_reference, "strings are immutable");
+                               return false;
+                       } else if (ea.container is MemberAccess && ea.container.symbol_reference is Signal) {
                                var ma = (MemberAccess) ea.container;
                                var sig = (Signal) ea.container.symbol_reference;
                                right.target_type = new DelegateType (sig.get_delegate (ma.inner.value_type, this));