report error when using automatic properties in interfaces, fixes bug
authorJuerg Billeter <j@bitron.ch>
Wed, 30 Jan 2008 16:38:04 +0000 (16:38 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Wed, 30 Jan 2008 16:38:04 +0000 (16:38 +0000)
2008-01-30  Juerg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: report error when using automatic
  properties in interfaces, fixes bug 513157

svn path=/trunk/; revision=930

ChangeLog
vala/valasemanticanalyzer.vala

index eae93c1..b8e053c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-01-30  Jürg Billeter  <j@bitron.ch>
 
+       * vala/valasemanticanalyzer.vala: report error when using automatic
+         properties in interfaces, fixes bug 513157
+
+2008-01-30  Jürg Billeter  <j@bitron.ch>
+
        * vala/valasemanticanalyzer.vala: report error when trying to add
          instance fields to interfaces, fixes bug 513152
 
index 806f611..11ecc82 100644 (file)
@@ -637,7 +637,13 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                if (!acc.source_reference.file.pkg) {
                        if (acc.body == null && !acc.prop.interface_only && !acc.prop.is_abstract) {
                                /* no accessor body specified, insert default body */
-                       
+
+                               if (acc.prop.parent_symbol is Interface) {
+                                       acc.error = true;
+                                       Report.error (acc.source_reference, "Automatic properties can't be used in interfaces");
+                                       return;
+                               }
+
                                acc.body = new Block ();
                                if (acc.readable) {
                                        acc.body.add_statement (new ReturnStatement (new MemberAccess.simple ("_%s".printf (acc.prop.name)), acc.source_reference));