Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetDocumentName()

string System.Reflection.Metadata.Ecma335.BlobHeap.GetDocumentName ( DocumentNameBlobHandle handle)
inline

Definition at line 137 of file BlobHeap.cs.

138 {
139 BlobReader blobReader = GetBlobReader(handle);
140 int num = blobReader.ReadByte();
141 if (num > 127)
142 {
143 throw new BadImageFormatException(System.SR.Format(System.SR.InvalidDocumentName, num));
144 }
146 StringBuilder builder = instance.Builder;
147 bool flag = true;
148 while (blobReader.RemainingBytes > 0)
149 {
150 if (num != 0 && !flag)
151 {
152 builder.Append((char)num);
153 }
154 BlobReader blobReader2 = GetBlobReader(blobReader.ReadBlobHandle());
155 builder.Append(blobReader2.ReadUTF8(blobReader2.Length));
156 flag = false;
157 }
158 return instance.ToStringAndFree();
159 }
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string InvalidDocumentName
Definition SR.cs:114
Definition SR.cs:7
StringBuilder Append(char value, int repeatCount)
BlobReader GetBlobReader(BlobHandle handle)
Definition BlobHeap.cs:98

References System.Text.StringBuilder.Append(), System.Reflection.Internal.PooledStringBuilder.Builder, System.SR.Format(), System.Reflection.Metadata.Ecma335.BlobHeap.GetBlobReader(), System.Reflection.Internal.PooledStringBuilder.GetInstance(), System.handle, System.SR.InvalidDocumentName, System.Reflection.Metadata.BlobReader.Length, System.Reflection.Metadata.BlobReader.ReadBlobHandle(), System.Reflection.Metadata.BlobReader.ReadByte(), System.Reflection.Metadata.BlobReader.ReadUTF8(), System.Reflection.Metadata.BlobReader.RemainingBytes, and System.Reflection.Internal.PooledStringBuilder.ToStringAndFree().

Referenced by System.Reflection.Metadata.Ecma335.BlobHeap.DocumentNameEquals(), and System.Reflection.Metadata.MetadataReader.GetString().