value_type = new ArrayType (element_type, rank, source_reference);
value_type.value_owned = true;
+ if (!value_type.check (context)) {
+ return false;
+ }
+
return !error;
}
}
}
+ if (element_type is ArrayType) {
+ Report.error (source_reference, "Stacked arrays are not supported");
+ return false;
+ } else if (element_type is DelegateType) {
+ var delegate_type = (DelegateType) element_type;
+ if (delegate_type.delegate_symbol.has_target) {
+ Report.error (source_reference, "Delegates with target are not supported as array element type");
+ return false;
+ }
+ }
+
return element_type.check (context);
}