// discard tabs at beginning of line
var regex = new GLib.Regex ("^\t+");
- /* separate declaration due to missing memory management in foreach statements */
- var lines = text.split ("\n");
-
- foreach (string line in lines) {
+ foreach (unowned string line in text.split ("\n")) {
if (!first) {
write_indent ();
} else {
}
if (sym.external_package || (!decl_space.is_header && CodeContext.get ().use_header && !sym.is_internal_symbol ())) {
// add appropriate include file
- foreach (string header_filename in get_ccode_header_filenames (sym).split (",")) {
+ foreach (unowned string header_filename in get_ccode_header_filenames (sym).split (",")) {
decl_space.add_include (header_filename, !sym.external_package ||
(sym.external_package &&
sym.from_commandline));
private void write_c_includes (Namespace ns) {
// Collect C header filenames
Set<string> header_filenames = new HashSet<string> (str_hash, str_equal);
- foreach (string c_header_filename in CCodeBaseModule.get_ccode_header_filenames (ns).split (",")) {
+ foreach (unowned string c_header_filename in CCodeBaseModule.get_ccode_header_filenames (ns).split (",")) {
header_filenames.add (c_header_filename);
}
foreach (Symbol symbol in ns.scope.get_symbol_table ().get_values ()) {
- foreach (string c_header_filename in CCodeBaseModule.get_ccode_header_filenames (symbol).split (",")) {
+ foreach (unowned string c_header_filename in CCodeBaseModule.get_ccode_header_filenames (symbol).split (",")) {
header_filenames.add (c_header_filename);
}
}
string filename = null;
if (directories != null) {
- foreach (string dir in directories) {
+ foreach (unowned string dir in directories) {
filename = Path.build_path ("/", dir, basename);
if (FileUtils.test (filename, FileTest.EXISTS)) {
return filename;
}
if (data_dir != null) {
- foreach (string dir in Environment.get_system_data_dirs ()) {
+ foreach (unowned string dir in Environment.get_system_data_dirs ()) {
filename = Path.build_path ("/", dir, data_dir, basename);
if (FileUtils.test (filename, FileTest.EXISTS)) {
return filename;
}
if (versioned_data_dir != null) {
- foreach (string dir in Environment.get_system_data_dirs ()) {
+ foreach (unowned string dir in Environment.get_system_data_dirs ()) {
filename = Path.build_path ("/", dir, versioned_data_dir, basename);
if (FileUtils.test (filename, FileTest.EXISTS)) {
return filename;
string metadata;
FileUtils.get_contents (metadata_filename, out metadata, null);
- foreach (string line in metadata.split ("\n")) {
+ foreach (unowned string line in metadata.split ("\n")) {
if (line.has_prefix ("#")) {
// ignore comment lines
continue;
if (suppress_throws == false && error_types != null) {
var type_args = eval (error_types).split (",");
- foreach (string type_arg in type_args) {
+ foreach (unowned string type_arg in type_args) {
cb.add_error_type (parse_type_from_string (type_arg, true));
}
}
} else if (nv[0] == "deprecated_since") {
cl.set_attribute_string ("Version", "deprecated_since", eval (nv[1]));
} else if (nv[0] == "type_parameters") {
- foreach (string type_param_name in eval (nv[1]).split (",")) {
+ foreach (unowned string type_param_name in eval (nv[1]).split (",")) {
cl.add_type_parameter (new TypeParameter (type_param_name, current_source_reference));
}
} else if (nv[0] == "experimental") {
if (val.has_prefix ("\"") && val.has_suffix ("\"")) {
p.initializer = new StringLiteral (val, param_type.source_reference);
} else {
- foreach (var member in val.split (".")) {
+ foreach (unowned string member in val.split (".")) {
p.initializer = new MemberAccess (p.initializer, member, param_type.source_reference);
}
}
if (suppress_throws == false && error_types != null) {
var type_args = eval (error_types).split (",");
- foreach (string type_arg in type_args) {
+ foreach (unowned string type_arg in type_args) {
m.add_error_type (parse_type_from_string (type_arg, true));
}
}