report error when trying to add instance fields to interfaces, fixes bug
authorJuerg Billeter <j@bitron.ch>
Wed, 30 Jan 2008 16:29:25 +0000 (16:29 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Wed, 30 Jan 2008 16:29:25 +0000 (16:29 +0000)
2008-01-30  Juerg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: report error when trying to add
  instance fields to interfaces, fixes bug 513152

svn path=/trunk/; revision=929

ChangeLog
vala/valasemanticanalyzer.vala

index a3f99f9..eae93c1 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 trying to add
+         instance fields to interfaces, fixes bug 513152
+
+2008-01-30  Jürg Billeter  <j@bitron.ch>
+
        * vala/valainterfacewriter.vala: output # for properties transferring
          ownership
 
index 2e9e539..806f611 100644 (file)
@@ -316,6 +316,12 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
        public override void visit_field (Field! f) {
                f.accept_children (this);
 
+               if (f.instance && f.parent_symbol is Interface) {
+                       f.error = true;
+                       Report.error (f.source_reference, "Interfaces may not have instance fields");
+                       return;
+               }
+
                if (!f.is_internal_symbol ()) {
                        current_source_file.add_type_dependency (f.type_reference, SourceFileDependencyType.HEADER_SHALLOW);
                } else {