83 references to TextSegment
Mono.Cecil (83)
Mono.Cecil.Cil\CodeWriter.cs (1)
35 this.code_base = metadata.text_map.GetRVA (TextSegment.Code);
Mono.Cecil.Cil\PortablePdb.cs (1)
495 writer.MoveToRVA (TextSegment.PdbHeap);
Mono.Cecil.PE\ImageWriter.cs (67)
234 var startub_stub = text_map.GetRange (TextSegment.StartupStub); 290 WriteDataDirectory (text_map.GetDataDirectory (TextSegment.ImportDirectory)); // ImportTable 302 if (text_map.GetLength (TextSegment.DebugDirectory) > 0) { 303 WriteUInt32 (text_map.GetRVA (TextSegment.DebugDirectory)); 313 WriteDataDirectory (text_map.GetDataDirectory (TextSegment.ImportAddressTable)); // IAT 315 WriteDataDirectory (text_map.GetDataDirectory (TextSegment.CLIHeader)); // CLIHeader 384 internal void MoveToRVA (TextSegment segment) 427 WriteRVA (text_map.GetRVA (TextSegment.ImportHintNameTable)); 437 WriteUInt32 (text_map.GetRVA (TextSegment.MetadataHeader)); 441 WriteDataDirectory (text_map.GetDataDirectory (TextSegment.Resources)); 442 WriteDataDirectory (text_map.GetDataDirectory (TextSegment.StrongNameSignature)); 450 MoveToRVA (TextSegment.Code); 455 MoveToRVA (TextSegment.Resources); 461 MoveToRVA (TextSegment.Data); 470 MoveToRVA (TextSegment.MetadataHeader); 476 if (text_map.GetLength (TextSegment.DebugDirectory) > 0) { 477 MoveToRVA (TextSegment.DebugDirectory); 485 MoveToRVA (TextSegment.ImportDirectory); 489 MoveToRVA (TextSegment.StartupStub); 495 return text_map.GetRVA (TextSegment.DebugDirectory) - text_map.GetRVA (TextSegment.MetadataHeader); 511 uint offset = text_map.GetRVA (TextSegment.TableHeap) - text_map.GetRVA (TextSegment.MetadataHeader); 513 WriteStreamHeader (ref offset, TextSegment.TableHeap, "#~"); 514 WriteStreamHeader (ref offset, TextSegment.StringHeap, "#Strings"); 515 WriteStreamHeader (ref offset, TextSegment.UserStringHeap, "#US"); 516 WriteStreamHeader (ref offset, TextSegment.GuidHeap, "#GUID"); 517 WriteStreamHeader (ref offset, TextSegment.BlobHeap, "#Blob"); 518 WriteStreamHeader (ref offset, TextSegment.PdbHeap, "#Pdb"); 532 void WriteStreamHeader (ref uint offset, TextSegment heap, string name) 570 WriteHeap (TextSegment.TableHeap, metadata.table_heap); 571 WriteHeap (TextSegment.StringHeap, metadata.string_heap); 572 WriteHeap (TextSegment.UserStringHeap, metadata.user_string_heap); 573 WriteHeap (TextSegment.GuidHeap, metadata.guid_heap); 574 WriteHeap (TextSegment.BlobHeap, metadata.blob_heap); 575 WriteHeap (TextSegment.PdbHeap, metadata.pdb_heap); 578 void WriteHeap (TextSegment heap, HeapBuffer buffer) 616 WriteUInt32 (text_map.GetRVA (TextSegment.ImportDirectory) + 40); // ImportLookupTable 619 WriteUInt32 (text_map.GetRVA (TextSegment.ImportHintNameTable) + 14); 620 WriteUInt32 (text_map.GetRVA (TextSegment.ImportAddressTable)); 624 WriteUInt32 (text_map.GetRVA (TextSegment.ImportHintNameTable)); 627 MoveToRVA (TextSegment.ImportHintNameTable); 648 WriteUInt32 ((uint) image_base + text_map.GetRVA (TextSegment.ImportAddressTable)); 665 var reloc_rva = text_map.GetRVA (TextSegment.StartupStub); 699 map.AddMap (TextSegment.Code, metadata.code.length, !pe64 ? 4 : 16); 700 map.AddMap (TextSegment.Resources, metadata.resources.length, 8); 701 map.AddMap (TextSegment.Data, metadata.data.length, metadata.data.BufferAlign); 703 metadata.table_heap.FixupData (map.GetRVA (TextSegment.Data)); 704 map.AddMap (TextSegment.StrongNameSignature, GetStrongNameLength (), 4); 711 var data_address = (int) map.GetNextRVA (TextSegment.BlobHeap) + directories_len; 728 map.AddMap (TextSegment.DebugDirectory, debug_dir_len, 4); 731 var start = map.GetNextRVA (TextSegment.DebugDirectory); 732 map.AddMap (TextSegment.ImportDirectory, new Range (start, 0)); 733 map.AddMap (TextSegment.ImportHintNameTable, new Range (start, 0)); 734 map.AddMap (TextSegment.StartupStub, new Range (start, 0)); 738 RVA import_dir_rva = map.GetNextRVA (TextSegment.DebugDirectory); 748 map.AddMap (TextSegment.ImportDirectory, new Range (import_dir_rva, import_dir_len)); 749 map.AddMap (TextSegment.ImportHintNameTable, new Range (import_hnt_rva, 0)); 750 map.AddMap (TextSegment.StartupStub, new Range (startup_stub_rva, GetStartupStubLength ())); 757 map.AddMap (TextSegment.MetadataHeader, GetMetadataHeaderLength (module.RuntimeVersion)); 758 map.AddMap (TextSegment.TableHeap, metadata.table_heap.length, 4); 759 map.AddMap (TextSegment.StringHeap, metadata.string_heap.length, 4); 760 map.AddMap (TextSegment.UserStringHeap, metadata.user_string_heap.IsEmpty ? 0 : metadata.user_string_heap.length, 4); 761 map.AddMap (TextSegment.GuidHeap, metadata.guid_heap.length, 4); 762 map.AddMap (TextSegment.BlobHeap, metadata.blob_heap.IsEmpty ? 0 : metadata.blob_heap.length, 4); 763 map.AddMap (TextSegment.PdbHeap, metadata.pdb_heap == null ? 0 : metadata.pdb_heap.length, 4); 819 return text_map.GetDataDirectory (TextSegment.StrongNameSignature);
Mono.Cecil.PE\TextMap.cs (10)
46 public void AddMap (TextSegment segment, int length) 57 public void AddMap (TextSegment segment, int length, int align) 78 public void AddMap (TextSegment segment, Range range) 83 public Range GetRange (TextSegment segment) 88 public DataDirectory GetDataDirectory (TextSegment segment) 95 public RVA GetRVA (TextSegment segment) 100 public RVA GetNextRVA (TextSegment segment) 106 public int GetLength (TextSegment segment) 111 RVA GetStart (TextSegment segment) 125 var range = map [(int) TextSegment.StartupStub];
Mono.Cecil\AssemblyWriter.cs (4)
175 writer.MoveToRVA (TextSegment.GuidHeap); 988 map.AddMap (TextSegment.ImportAddressTable, module.Architecture == TargetArchitecture.I386 ? 8 : 0); 989 map.AddMap (TextSegment.CLIHeader, 0x48, 8); 994 map.AddMap (TextSegment.Code, 0, !pe64 ? 4 : 16);