AsmResolver.Net.Builder.NetAssemblyBuilder.SectionsTableBuilder.UpdateOffsets C# (CSharp) Method

UpdateOffsets() public method

public UpdateOffsets ( BuildingContext context ) : void
context AsmResolver.Builder.BuildingContext
return void
            public override void UpdateOffsets(BuildingContext context)
            {
                var fileAlignment = _builder.Assembly.NtHeaders.OptionalHeader.FileAlignment;
                var fileAddress = fileAlignment;

                for (int i = 0; i < _sectionBuilders.Count; i++)
                {
                    if (i == 0)
                        _sectionBuilders[i].Header.StartOffset = StartOffset;
                    else
                        _sectionBuilders[i].Header.StartOffset = _sectionBuilders[i - 1].Header.StartOffset + _sectionBuilders[i - 1].Header.GetPhysicalLength();

                    _sectionBuilders[i].StartOffset = fileAddress;
                    _sectionBuilders[i].UpdateOffsets(context);
                    fileAddress += _sectionBuilders[i].GetPhysicalLength();

                }
            }