2008-06-16 Jamie McCracken <jamiemcc@gnome.org>
* vala/valagenieparser.vala:
+
+ Report error when using invalid modifiers for methods and fields,
+
+
+2008-06-16 Jamie McCracken <jamiemcc@gnome.org>
+
+ * vala/valagenieparser.vala:
set equal func for list automatically based on type
ns.add_delegate ((Delegate) sym);
} else if (sym is Method) {
var method = (Method) sym;
- method.binding = MemberBinding.STATIC;
+ if (method.binding == MemberBinding.INSTANCE) {
+ method.binding = MemberBinding.STATIC;
+ }
ns.add_method (method);
} else if (sym is Field) {
var field = (Field) sym;
- field.binding = MemberBinding.STATIC;
+ if (field.binding == MemberBinding.INSTANCE) {
+ field.binding = MemberBinding.STATIC;
+ }
ns.add_field (field);
} else if (sym is Constant) {
ns.add_constant ((Constant) sym);
var f = new Field (id, type, null, get_src_com (begin));
+ if (ModifierFlags.ABSTRACT in flags || ModifierFlags.VIRTUAL in flags || ModifierFlags.OVERRIDE in flags) {
+ Report.error (f.source_reference, "abstract, virtual, and override modifiers are not applicable to fields");
+ }
+
if (ModifierFlags.PRIVATE in flags) {
f.access = SymbolAccessibility.PRIVATE;
} else {
f.initializer = parse_expression ();
}
-
if (ModifierFlags.STATIC in flags) {
f.binding = MemberBinding.STATIC;
} else if (ModifierFlags.CLASS in flags) {