}
if (m.has_error_type_parameter ()) {
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
m.get_error_types (error_types);
- foreach (var error_type in error_types) {
+ foreach (DataType error_type in error_types) {
generate_type_declaration (error_type, decl_space);
}
}
// register errors
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
m.get_error_types (error_types);
foreach (var error_type in error_types) {
- if (error_type.error_domain != null) {
- ccode.add_expression (new CCodeIdentifier (get_ccode_upper_case_name (error_type.error_domain)));
+ var errtype = (ErrorType) error_type;
+ if (errtype.error_domain != null) {
+ ccode.add_expression (new CCodeIdentifier (get_ccode_upper_case_name (errtype.error_domain)));
}
}
append_local_free (current_symbol, null, current_try);
}
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
node.get_error_types (error_types);
bool has_general_catch_clause = false;
if (!is_in_catch) {
- var handled_error_types = new ArrayList<ErrorType> ();
+ var handled_error_types = new ArrayList<DataType> ();
foreach (CatchClause clause in current_try.get_catch_clauses ()) {
// keep track of unhandled error types
- foreach (var node_error_type in error_types) {
+ foreach (DataType node_error_type in error_types) {
if (clause.error_type == null || node_error_type.compatible (clause.error_type)) {
handled_error_types.add (node_error_type);
}
}
- foreach (var handled_error_type in handled_error_types) {
+ foreach (DataType handled_error_type in handled_error_types) {
error_types.remove (handled_error_type);
}
handled_error_types.clear ();
// current method can fail, propagate error
CCodeBinaryExpression ccond = null;
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
current_method.get_error_types (error_types);
- foreach (var error_type in error_types) {
+ foreach (DataType error_type in error_types) {
// If GLib.Error is allowed we propagate everything
if (error_type.equals (gerror_type)) {
ccond = null;
// Check the allowed error domains to propagate
var domain_check = new CCodeBinaryExpression (CCodeBinaryOperator.EQUALITY, new CCodeMemberAccess.pointer
- (get_inner_error_cexpression (), "domain"), new CCodeIdentifier (get_ccode_upper_case_name (error_type.error_domain)));
+ (get_inner_error_cexpression (), "domain"), new CCodeIdentifier (get_ccode_upper_case_name (((ErrorType) error_type).error_domain)));
if (ccond == null) {
ccond = domain_check;
} else {
return left.is_accessible (sym) && right.is_accessible (sym);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
left.get_error_types (collection, source_reference);
right.get_error_types (collection, source_reference);
}
return left.is_accessible (sym) && right.is_accessible (sym);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
left.get_error_types (collection, source_reference);
right.get_error_types (collection, source_reference);
}
return !error;
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
// use get_statements () instead of statement_list to not miss errors within StatementList objects
foreach (Statement stmt in get_statements ()) {
stmt.get_error_types (collection, source_reference);
builder.append_c (')');
// Append error-types
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
callable_symbol.get_error_types (error_types);
if (error_types.size > 0) {
builder.append (" throws ");
bool first = true;
- foreach (var type in error_types) {
+ foreach (DataType type in error_types) {
if (!first) {
builder.append (", ");
} else {
}
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
inner.get_error_types (collection, source_reference);
}
*/
public bool tree_can_fail {
get {
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
get_error_types (error_types);
return error_types.size > 0;
}
public virtual void get_used_variables (Collection<Variable> collection) {
}
- public virtual void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public virtual void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
}
public static string get_temp_name () {
write_params (cb.get_parameters ());
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
cb.get_error_types (error_types);
write_error_domains (error_types);
write_params (m.get_parameters ());
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
m.get_error_types (error_types);
write_error_domains (error_types);
return condition.is_accessible (sym) && true_expression.is_accessible (sym) && false_expression.is_accessible (sym);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
condition.get_error_types (collection, source_reference);
true_expression.get_error_types (collection, source_reference);
false_expression.get_error_types (collection, source_reference);
}
if (body != null && !body.error) {
- var body_errors = new ArrayList<ErrorType> ();
+ var body_errors = new ArrayList<DataType> ();
body.get_error_types (body_errors);
- foreach (var body_error_type in body_errors) {
- if (!body_error_type.dynamic_error) {
+ foreach (DataType body_error_type in body_errors) {
+ if (!((ErrorType) body_error_type).dynamic_error) {
Report.warning (body_error_type.source_reference, "unhandled error `%s'", body_error_type.to_string());
}
}
}
if (error_types != null) {
- foreach (var error_type in error_types) {
+ foreach (DataType error_type in error_types) {
error_type.accept (visitor);
}
}
}
if (error_types != null) {
- foreach (var error_type in error_types) {
+ foreach (DataType error_type in error_types) {
error_type.check (context);
// check whether error type is at least as accessible as the creation method
// check that all errors that can be thrown in the method body are declared
if (body != null && !body.error) {
- var body_errors = new ArrayList<ErrorType> ();
+ var body_errors = new ArrayList<DataType> ();
body.get_error_types (body_errors);
- foreach (var body_error_type in body_errors) {
+ foreach (DataType body_error_type in body_errors) {
bool can_propagate_error = false;
if (error_types != null) {
- foreach (var method_error_type in error_types) {
+ foreach (DataType method_error_type in error_types) {
if (body_error_type.compatible (method_error_type)) {
can_propagate_error = true;
}
}
}
- if (!can_propagate_error && !body_error_type.dynamic_error) {
+ if (!can_propagate_error && !((ErrorType) body_error_type).dynamic_error) {
Report.warning (body_error_type.source_reference, "unhandled error `%s'", body_error_type.to_string());
}
}
declaration.accept (visitor);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (source_reference == null) {
source_reference = this.source_reference;
}
return false;
}
- var method_error_types = new ArrayList<ErrorType> ();
+ var method_error_types = new ArrayList<DataType> ();
m.get_error_types (method_error_types);
// method must throw error if the delegate does
}
// method may throw less but not more errors than the delegate
- foreach (var method_error_type in method_error_types) {
+ foreach (DataType method_error_type in method_error_types) {
bool match = false;
if (error_types != null) {
- foreach (var delegate_error_type in error_types) {
+ foreach (DataType delegate_error_type in error_types) {
if (method_error_type.compatible (delegate_error_type)) {
match = true;
break;
}
if (error_types != null) {
- foreach (var error_type in error_types) {
+ foreach (DataType error_type in error_types) {
error_type.accept (visitor);
}
}
error_type.parent_node = this;
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (error_types != null) {
foreach (var error_type in error_types) {
if (source_reference != null) {
- var type = (ErrorType) error_type.copy ();
+ var type = error_type.copy ();
type.source_reference = source_reference;
collection.add (type);
} else {
- collection.add ((ErrorType) error_type);
+ collection.add (error_type);
}
}
}
}
// target-delegate may throw less but not more errors than the delegate
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
delegate_symbol.get_error_types (error_types);
- foreach (var error_type in error_types) {
+ foreach (DataType error_type in error_types) {
bool match = false;
- var delegate_error_types = new ArrayList<ErrorType> ();
+ var delegate_error_types = new ArrayList<DataType> ();
dt_target.delegate_symbol.get_error_types (delegate_error_types);
- foreach (var delegate_error_type in delegate_error_types) {
+ foreach (DataType delegate_error_type in delegate_error_types) {
if (error_type.compatible (delegate_error_type)) {
match = true;
break;
}
if (body != null && !body.error) {
- var body_errors = new ArrayList<ErrorType> ();
+ var body_errors = new ArrayList<DataType> ();
body.get_error_types (body_errors);
- foreach (var body_error_type in body_errors) {
- if (!body_error_type.dynamic_error) {
+ foreach (DataType body_error_type in body_errors) {
+ if (!((ErrorType) body_error_type).dynamic_error) {
Report.warning (body_error_type.source_reference, "unhandled error `%s'", body_error_type.to_string());
}
}
return container.is_accessible (sym);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
container.get_error_types (collection, source_reference);
foreach (Expression e in indices) {
e.get_error_types (collection, source_reference);
return !error;
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
expression.get_error_types (collection, source_reference);
}
var last_block = current_block;
// exceptional control flow
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
node.get_error_types (error_types);
- foreach (var error_type in error_types) {
- unowned Class? error_class = error_type.type_symbol as Class;
+ foreach (DataType error_data_type in error_types) {
+ unowned ErrorType? error_type = error_data_type as ErrorType;
+ unowned Class? error_class = error_data_type.type_symbol as Class;
current_block = last_block;
unreachable_reported = true;
return !error;
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (source_reference == null) {
source_reference = this.source_reference;
}
deleg.add_parameter (param.copy ());
}
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
orig.get_error_types (error_types, alias.source_reference);
foreach (var error_type in error_types) {
deleg.add_error_type (error_type.copy ());
}
}
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
finish_method.get_error_types (error_types, method.source_reference);
- foreach (var error_type in error_types) {
+ foreach (DataType error_type in error_types) {
method.add_error_type (error_type);
}
finish_method_node.processed = true;
}
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
condition.get_error_types (collection, source_reference);
true_statement.get_error_types (collection, source_reference);
if (false_statement != null) {
return false;
}
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
cb.get_error_types (error_types);
foreach (var error_type in error_types) {
- method.add_error_type ((ErrorType) error_type.copy ());
+ method.add_error_type (error_type.copy ());
}
if (expression_body != null) {
body.accept (visitor);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
body.get_error_types (collection, source_reference);
}
}
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (inner != null) {
inner.get_error_types (collection, source_reference);
}
}
/* this method may throw less but not more errors than the base method */
- var base_method_errors = new ArrayList<ErrorType> ();
+ var base_method_errors = new ArrayList<DataType> ();
base_method.get_error_types (base_method_errors);
if (error_types != null) {
- foreach (var method_error_type in error_types) {
+ foreach (DataType method_error_type in error_types) {
bool match = false;
- foreach (var base_method_error_type in base_method_errors) {
+ foreach (DataType base_method_error_type in base_method_errors) {
if (method_error_type.compatible (base_method_error_type)) {
match = true;
break;
error_type.parent_node = this;
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (error_types != null) {
foreach (var error_type in error_types) {
if (source_reference != null) {
- var type = (ErrorType) error_type.copy ();
+ var type = error_type.copy ();
type.source_reference = source_reference;
collection.add (type);
} else {
- collection.add ((ErrorType) error_type);
+ collection.add (error_type);
}
}
}
// check that all errors that can be thrown in the method body are declared
if (body != null && !body.error) {
- var body_errors = new ArrayList<ErrorType> ();
+ var body_errors = new ArrayList<DataType> ();
body.get_error_types (body_errors);
- foreach (var body_error_type in body_errors) {
+ foreach (DataType body_error_type in body_errors) {
bool can_propagate_error = false;
if (error_types != null) {
- foreach (var method_error_type in error_types) {
+ foreach (DataType method_error_type in error_types) {
if (body_error_type.compatible (method_error_type)) {
can_propagate_error = true;
}
}
}
- if (!can_propagate_error && !body_error_type.dynamic_error) {
+ bool is_dynamic_error = body_error_type is ErrorType && ((ErrorType) body_error_type).dynamic_error;
+ if (!can_propagate_error && !is_dynamic_error) {
Report.warning (body_error_type.source_reference, "unhandled error `%s'", body_error_type.to_string());
}
}
bool throws_gerror = false;
bool throws_gioerror = false;
bool throws_gdbuserror = false;
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
get_error_types (error_types);
- foreach (var error_type in error_types) {
- unowned ErrorDomain? error_domain = error_type.error_domain;
+ foreach (DataType error_type in error_types) {
+ if (!(error_type is ErrorType)) {
+ continue;
+ }
+ unowned ErrorDomain? error_domain = ((ErrorType) error_type).error_domain;
if (error_domain == null) {
throws_gerror = true;
break;
return call.is_accessible (sym);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (source_reference == null) {
source_reference = this.source_reference;
}
return !error;
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (symbol_reference is Method) {
if (source_reference == null) {
source_reference = this.source_reference;
return inner.is_accessible (sym);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
inner.get_error_types (collection, source_reference);
}
}
if (body != null && !body.error) {
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
body.get_error_types (error_types);
- foreach (var body_error_type in error_types) {
- if (!body_error_type.dynamic_error) {
+ foreach (DataType body_error_type in error_types) {
+ if (!((ErrorType) body_error_type).dynamic_error) {
Report.warning (body_error_type.source_reference, "unhandled error `%s'", body_error_type.to_string ());
}
}
}
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (return_expression != null) {
return_expression.get_error_types (collection, source_reference);
}
list.insert (index, stmt);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
foreach (var stmt in list) {
stmt.get_error_types (collection, source_reference);
}
}
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
foreach (SwitchSection section in sections) {
section.get_error_types (collection, source_reference);
}
}
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (error) {
return;
}
if (source_reference == null) {
source_reference = this.source_reference;
}
- var error_type = (ErrorType) error_expression.value_type.copy ();
+ var error_type = error_expression.value_type.copy ();
error_type.source_reference = source_reference;
collection.add (error_type);
}
}
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
- var error_types = new ArrayList<ErrorType> ();
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
+ var error_types = new ArrayList<DataType> ();
body.get_error_types (error_types, source_reference);
foreach (CatchClause clause in catch_clauses) {
return st.is_integer_type ();
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
inner.get_error_types (collection, source_reference);
}
body.emit (codegen);
}
- public override void get_error_types (Collection<ErrorType> collection, SourceReference? source_reference = null) {
+ public override void get_error_types (Collection<DataType> collection, SourceReference? source_reference = null) {
if (source_reference == null) {
source_reference = this.source_reference;
}
}
private void resolve_thrown_list (Symbol symbol, Vala.Symbol vala_symbol) {
- var error_types = new Vala.ArrayList<Vala.ErrorType> ();
+ var error_types = new Vala.ArrayList<Vala.DataType> ();
vala_symbol.get_error_types (error_types);
- foreach (var type in error_types) {
- unowned Vala.ErrorDomain? vala_edom = type.error_domain;
+ foreach (Vala.DataType type in error_types) {
+ unowned Vala.ErrorDomain? vala_edom = ((Vala.ErrorType) type).error_domain;
Symbol? edom = symbol_map.get (vala_edom);
symbol.add_child (edom ?? glib_error);
}
m.add_parameter (async_param);
}
}
- var error_types = new ArrayList<ErrorType> ();
+ var error_types = new ArrayList<DataType> ();
finish_method.get_error_types (error_types, m.source_reference);
- foreach (var error_type in error_types) {
+ foreach (DataType error_type in error_types) {
m.add_error_type (error_type);
}
finish_methods.add (finish_method);