IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
IKVM.Reflection.Writer.ModuleResourceSectionBuilder Class Reference

Implements a ResourceSectionBuilder for writing IKVM reflection resource section data. More...

Inheritance diagram for IKVM.Reflection.Writer.ModuleResourceSectionBuilder:

Public Member Functions

 ModuleResourceSectionBuilder ()
 Initializes a new instance.
 
 ModuleResourceSectionBuilder (ModuleResourceSectionBuilder other)
 Initializes a new instance, importing the resources from the specified builder.
 

Protected Member Functions

override void Serialize (BlobBuilder builder, SectionLocation location)
 

Properties

int Count [get]
 Gets the number of entries in the root of the builder.
 

Detailed Description

Implements a ResourceSectionBuilder for writing IKVM reflection resource section data.

Definition at line 15 of file ModuleResourceSectionBuilder.cs.

Constructor & Destructor Documentation

◆ ModuleResourceSectionBuilder() [1/2]

IKVM.Reflection.Writer.ModuleResourceSectionBuilder.ModuleResourceSectionBuilder ( )

Initializes a new instance.

Definition at line 28 of file ModuleResourceSectionBuilder.cs.

29 {
30 root = new ResourceDirectoryEntry(new OrdinalOrName("root"));
31 }
readonly record struct OrdinalOrName(ushort Ordinal, string Name)

◆ ModuleResourceSectionBuilder() [2/2]

IKVM.Reflection.Writer.ModuleResourceSectionBuilder.ModuleResourceSectionBuilder ( ModuleResourceSectionBuilder other)

Initializes a new instance, importing the resources from the specified builder.

Parameters
other

Definition at line 37 of file ModuleResourceSectionBuilder.cs.

38 {
39 if (other is null)
40 throw new ArgumentNullException(nameof(other));
41
42 root = new ResourceDirectoryEntry(other.root);
43 }

Member Function Documentation

◆ Serialize()

override void IKVM.Reflection.Writer.ModuleResourceSectionBuilder.Serialize ( BlobBuilder builder,
SectionLocation location )
protected

Definition at line 135 of file ModuleResourceSectionBuilder.cs.

136 {
137 var bb = new ByteBuffer(1024);
138 var linkOffsets = new List<int>();
139 root.Write(bb, linkOffsets);
140
141 foreach (int offset in linkOffsets)
142 {
143 bb.Position = offset;
144 bb.Write(bb.GetInt32AtCurrentPosition() + (int)location.RelativeVirtualAddress);
145 }
146
147 builder.WriteBytes(bb.ToArray());
148 }

Property Documentation

◆ Count

int IKVM.Reflection.Writer.ModuleResourceSectionBuilder.Count
get

Gets the number of entries in the root of the builder.

Definition at line 48 of file ModuleResourceSectionBuilder.cs.


The documentation for this class was generated from the following file: