public MethodSource[] GetMethods(SourceFile file)
{
ArrayList list = new ArrayList ();
foreach (CompileUnitBlock block in compile_unit_hash.Values) {
foreach (CompilationUnit comp_unit in block.CompilationUnits) {
if (comp_unit.DieCompileUnit.SourceFile != file)
continue;
foreach (Die child in comp_unit.DieCompileUnit.Subprograms) {
DieSubprogram subprog = child as DieSubprogram;
if ((subprog == null) || (subprog.MethodSource == null))
continue;
list.Add (subprog.MethodSource);
}
}
}
MethodSource[] methods = new MethodSource [list.Count];
list.CopyTo (methods, 0);
return methods;
}