methods/parameter-ref-array-resize.vala \
methods/parameter-ref-array-resize-captured.vala \
methods/parameter-ref-delegate.vala \
+ methods/parameter-ref-element-access.vala \
methods/prepostconditions.vala \
methods/prepostconditions-captured.vala \
methods/postconditions.vala \
--- /dev/null
+void foo (ref string s) {
+ assert (s == "foo");
+ s = "bar";
+}
+
+void main () {
+ string[] bar = { "manam", "foo" };
+ foo (ref bar[1]);
+ assert (bar[1] == "bar");
+}
Report.error (source_reference, "ref and out method arguments can only be used with fields, parameters, local variables, and array element access");
return false;
}
- if (inner.symbol_reference.get_attribute ("GtkChild") != null) {
+ if (inner.symbol_reference != null && inner.symbol_reference.get_attribute ("GtkChild") != null) {
error = true;
Report.error (source_reference, "Assignment of [GtkChild] `%s' is not allowed", inner.symbol_reference.get_full_name ());
return false;