public FileEntry(LineNumberEngine engine, DwarfBinaryReader reader)
{
FileName = reader.ReadString ();
Directory = reader.ReadLeb128 ();
LastModificationTime = reader.ReadLeb128 ();
Length = reader.ReadLeb128 ();
string dir_name;
if (Directory > 0)
dir_name = (string) engine.include_dirs [Directory - 1];
else
dir_name = engine.compilation_dir;
string full_name;
if (dir_name != null)
full_name = Path.Combine (dir_name, FileName);
else
full_name = FileName;
File = engine.comp_unit.dwarf.GetSourceFile (full_name);
}