Mono.Debugger.Backend.Mono.MonoSymbolFile.ensure_sources C# (CSharp) Method

ensure_sources() private method

private ensure_sources ( ) : void
return void
        void ensure_sources()
        {
            if (sources != null)
                return;

            sources = new ArrayList ();
            source_hash = new Dictionary<SourceFile,C.SourceFileEntry> ();
            source_file_hash = new Dictionary<C.SourceFileEntry,SourceFile> ();
            method_index_hash = new Hashtable ();

            if (File == null)
                return;

            bool need_conversion = false;
            if ((Environment.OSVersion.Platform == PlatformID.Unix) &&
                ((File.OffsetTable.FileFlags & C.OffsetTable.Flags.WindowsFileNames) != 0) &&
                !process.Session.Config.OpaqueFileNames) {
                need_conversion = true;
            }

            foreach (C.SourceFileEntry source in File.Sources) {
                string file_name = source.FileName;
                string orig_name = file_name;
                if (need_conversion)
                    file_name = DebuggerConfiguration.WindowsToUnix (file_name);

                SourceFile info = new MonoSourceFile (
                    process.Session, Module, source, file_name);

                sources.Add (info);
                source_hash.Add (info, source);
                source_file_hash.Add (source, info);
            }
        }