Report.error (parameters[0].source_reference, "Named parameter required before `...'");
}
+ var optional_param = false;
foreach (Parameter param in parameters) {
param.check (context);
if (coroutine && param.direction == ParameterDirection.REF) {
error = true;
Report.error (param.source_reference, "Reference parameters are not supported for async methods");
}
+ if (optional_param && param.initializer == null) {
+ Report.warning (param.source_reference, "parameter without default follows parameter with default");
+ } else if (param.initializer != null) {
+ optional_param = true;
+ }
}
foreach (DataType error_type in get_error_types ()) {
public string[] split_full (string str, ssize_t string_len = -1, int start_position = 0, RegexMatchFlags match_options = 0, int max_tokens = 0) throws RegexError;
public string replace (string str, ssize_t string_len, int start_position, string replacement, RegexMatchFlags match_options = 0) throws RegexError;
public string replace_literal (string str, ssize_t string_len, int start_position, string replacement, RegexMatchFlags match_options = 0) throws RegexError;
- public string replace_eval (string str, ssize_t string_len, int start_position, RegexMatchFlags match_options = 0, RegexEvalCallback eval) throws RegexError;
+ public string replace_eval (string str, ssize_t string_len, int start_position, RegexMatchFlags match_options, RegexEvalCallback eval) throws RegexError;
public static bool check_replacement (out bool has_references = null) throws RegexError;
}