current_symbol = cl;
current_class = cl;
- if (cl.base_class != null) {
- current_source_file.add_symbol_dependency (cl.base_class, SourceFileDependencyType.HEADER_FULL);
- }
-
foreach (DataType base_type_reference in cl.get_base_types ()) {
- current_source_file.add_symbol_dependency (base_type_reference.data_type, SourceFileDependencyType.HEADER_FULL);
+ current_source_file.add_type_dependency (base_type_reference, SourceFileDependencyType.HEADER_FULL);
}
cl.accept_children (this);
current_symbol = iface;
foreach (DataType prerequisite_reference in iface.get_prerequisites ()) {
- current_source_file.add_symbol_dependency (prerequisite_reference.data_type, SourceFileDependencyType.HEADER_FULL);
+ current_source_file.add_type_dependency (prerequisite_reference, SourceFileDependencyType.HEADER_FULL);
}
/* check prerequisites */
f.accept_children (this);
if (!f.is_internal_symbol ()) {
- if (f.type_reference.data_type != null) {
- /* is null if it references a type parameter */
- current_source_file.add_symbol_dependency (f.type_reference.data_type, SourceFileDependencyType.HEADER_SHALLOW);
- }
+ current_source_file.add_type_dependency (f.type_reference, SourceFileDependencyType.HEADER_SHALLOW);
} else {
if (f.parent_symbol is Namespace) {
f.error = true;
return;
}
- if (f.type_reference.data_type != null) {
- /* is null if it references a type parameter */
- current_source_file.add_symbol_dependency (f.type_reference.data_type, SourceFileDependencyType.SOURCE);
- }
+ current_source_file.add_type_dependency (f.type_reference, SourceFileDependencyType.SOURCE);
}
}
m.source_reference.file.context.module_init_method = m;
}
- if (m.return_type.data_type != null) {
- /* is null if it is void or a reference to a type parameter */
- if (!m.is_internal_symbol ()) {
- current_source_file.add_symbol_dependency (m.return_type.data_type, SourceFileDependencyType.HEADER_SHALLOW);
- }
- current_source_file.add_symbol_dependency (m.return_type.data_type, SourceFileDependencyType.SOURCE);
+ if (!m.is_internal_symbol ()) {
+ current_source_file.add_type_dependency (m.return_type, SourceFileDependencyType.HEADER_SHALLOW);
}
+ current_source_file.add_type_dependency (m.return_type, SourceFileDependencyType.SOURCE);
m.accept_children (this);
p.accept_children (this);
if (!p.ellipsis) {
- if (p.type_reference.data_type != null) {
- /* is null if it references a type parameter */
- if (!p.is_internal_symbol ()) {
- current_source_file.add_symbol_dependency (p.type_reference.data_type, SourceFileDependencyType.HEADER_SHALLOW);
- }
- current_source_file.add_symbol_dependency (p.type_reference.data_type, SourceFileDependencyType.SOURCE);
+ if (!p.is_internal_symbol ()) {
+ current_source_file.add_type_dependency (p.type_reference, SourceFileDependencyType.HEADER_SHALLOW);
}
+ current_source_file.add_type_dependency (p.type_reference, SourceFileDependencyType.SOURCE);
}
/* special treatment for construct formal parameters used in creation methods */
current_symbol = current_symbol.parent_symbol;
- if (prop.type_reference.data_type != null) {
- /* is null if it references a type parameter */
- if (!prop.is_internal_symbol ()) {
- current_source_file.add_symbol_dependency (prop.type_reference.data_type, SourceFileDependencyType.HEADER_SHALLOW);
- }
- current_source_file.add_symbol_dependency (prop.type_reference.data_type, SourceFileDependencyType.SOURCE);
+ if (!prop.is_internal_symbol ()) {
+ current_source_file.add_type_dependency (prop.type_reference, SourceFileDependencyType.HEADER_SHALLOW);
}
+ current_source_file.add_type_dependency (prop.type_reference, SourceFileDependencyType.SOURCE);
if (prop.parent_symbol is Class) {
var cl = (Class) prop.parent_symbol;
}
}
- if (decl.type_reference.data_type != null) {
- current_source_file.add_symbol_dependency (decl.type_reference.data_type, SourceFileDependencyType.SOURCE);
- }
+ current_source_file.add_type_dependency (decl.type_reference, SourceFileDependencyType.SOURCE);
current_symbol.scope.add (decl.name, decl);
}
public override void visit_foreach_statement (ForeachStatement! stmt) {
- if (stmt.type_reference.data_type != null) {
- current_source_file.add_symbol_dependency (stmt.type_reference.data_type, SourceFileDependencyType.SOURCE);
- }
+ current_source_file.add_type_dependency (stmt.type_reference, SourceFileDependencyType.SOURCE);
stmt.variable_declarator = new VariableDeclarator (stmt.variable_name);
stmt.variable_declarator.type_reference = stmt.type_reference;
}
public override void visit_catch_clause (CatchClause! clause) {
- if (clause.type_reference.data_type != null) {
- current_source_file.add_symbol_dependency (clause.type_reference.data_type, SourceFileDependencyType.SOURCE);
- }
+ current_source_file.add_type_dependency (clause.type_reference, SourceFileDependencyType.SOURCE);
clause.variable_declarator = new VariableDeclarator (clause.variable_name);
clause.variable_declarator.type_reference = new ReferenceType (gerror_type);
}
/* header file necessary if we need to cast argument */
- if (param.type_reference.data_type != null) {
- current_source_file.add_symbol_dependency (param.type_reference.data_type, SourceFileDependencyType.SOURCE);
- }
+ current_source_file.add_type_dependency (param.type_reference, SourceFileDependencyType.SOURCE);
if (!arg_it.next ()) {
if (param.default_expression == null) {
foreach (DataType type_arg in type_args) {
expr.type_reference.add_type_argument (type_arg);
- if (type_arg.data_type != null) {
- current_source_file.add_symbol_dependency (type_arg.data_type, SourceFileDependencyType.SOURCE);
- }
+ current_source_file.add_type_dependency (type_arg, SourceFileDependencyType.SOURCE);
}
} else {
type = expr.type_reference.data_type;
// FIXME: check whether cast is allowed
- if (expr.type_reference.data_type != null) {
- current_source_file.add_symbol_dependency (expr.type_reference.data_type, SourceFileDependencyType.SOURCE);
- }
+ current_source_file.add_type_dependency (expr.type_reference, SourceFileDependencyType.SOURCE);
expr.static_type = expr.type_reference;
expr.static_type.transfers_ownership = expr.inner.static_type.transfers_ownership;
return;
}
- current_source_file.add_symbol_dependency (expr.type_reference.data_type, SourceFileDependencyType.SOURCE);
+ current_source_file.add_type_dependency (expr.type_reference, SourceFileDependencyType.SOURCE);
expr.static_type = bool_type;
}