internal void ResolveLayout(uint fileOffset, ulong virtualAddress)
{
VirtualAddress = virtualAddress;
FileOffset = fileOffset;
foreach (var symbol in Symbols)
{
if (symbol.IsResolved)
continue;
Size = Alignment.AlignUp(Size, symbol.Alignment);
symbol.SectionOffset = Size;
symbol.VirtualAddress = VirtualAddress + Size;
Size = Size + symbol.Size;
}
IsResolved = true;
}