public FileSegment GetLookupSegment(ImageSymbolImport symbolImport)
{
FileSegment segment;
if (!_lookupSegments.TryGetValue(symbolImport, out segment))
{
if (symbolImport.IsImportByOrdinal)
segment = DataSegment.CreateNativeInteger(symbolImport.Lookup, Is32Bit);
else if (symbolImport.HintName != null)
{
_nameTableBuilder.AddHintNameSegment(symbolImport.HintName);
segment = new PointerSegment(symbolImport.HintName, _offsetConverter, Is32Bit);
}
else
segment = DataSegment.CreateNativeInteger(0, Is32Bit);
_lookupSegments.Add(symbolImport, segment);
Segments.Add(segment);
}
return segment;
}